У меня есть несколько учетных записей пользователей, настроенных в SQL Server Reporting Services 2005, и я хотел бы программно проверить (через свои веб-службы), к которым сообщает данный пользователь. Как это сделать?SSRS: Как найти отчеты для данного пользователя?
1
A
ответ
2
Веб-метод ListChildren веб-службы ReportingService2005 можно использовать. Он вернет список элементов CatalogItems, к которым может обратиться текущий пользователь. Затем удалите элементы, которые не являются отчетами.
List<CatalogItem> result = new List<CatalogItem>();
result.AddRange(ListChildren(SOME_PATH_BLAH_BLAH_BLAH, true));
result.RemoveAll(delegate(CatalogItem item)
{
return item.Type != ItemTypeEnum.Report;
});
От http://technet.microsoft.com/en-us/library/reportservice2005.reportingservice2005.listchildren.aspx -
Метод ListChildren возвращает только дочерние элементы, которые пользователь имеет разрешение на просмотр. Возвращаемые элементы могут не представлять полный список дочерних элементов указанного родительского элемента.
Знаете ли вы, какие базовые разрешения/роли необходимы пользователю для доступа к веб-службам? При вызове пользователей с базовыми разрешениями для отчетов возникает ошибка, указывающая, что для выполнения этой операции недостаточно разрешений. ' – JoeBrockhaus