SSRS: как найти отчеты для данного пользователя? - PullRequest
1 голос
/ 24 апреля 2009

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

1 Ответ

2 голосов
/ 25 апреля 2009

Вы можете использовать веб-метод 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 возвращает только дочерние элементы, которые пользователь имеет право просматривать. Возвращаемые элементы могут не представлять полный список дочерних элементов указанного родительского элемента.

...