1

我在 SQL Server Reporting Services 2005 中设置了几个不同的用户帐户,我想以编程方式检查(通过他们的 Web 服务)报告给定用户可以访问哪些报告。我该怎么做?

4

1 回答 1

2

您可以使用 ReportingService2005 Web 服务的 ListChildren Web 方法。它将返回当前用户可以访问的 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 方法仅返回用户有权查看的子项。返回的项目可能不代表指定父项目的子项目的完整列表。

于 2009-04-24T21:41:24.800 回答