У меня есть несколько разных учетных записей пользователей, настроенных в SQL Server Reporting Services 2005, и я хотел бы программно проверить (через их веб-службы), что сообщает, что данный пользователь имеет доступ. Как мне это сделать?
Вы можете использовать веб-метод 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 возвращает только дочерние элементы, которые пользователь имеет право просматривать. Возвращаемые элементы могут не представлять полный список дочерних элементов указанного родительского элемента.