我在SQL Server Reporting Services 2005中设置了几个不同的用户帐户,我想以编程方式检查(通过他们的Web服务)给定用户可以访问哪些报告。 我该怎么做?
答案 0 :(得分:2)
您可以使用ReportingService2005 Web服务的ListChildren Web方法。它将返回当前用户可以访问的CatalogItem列表。然后删除不是报告的项目。
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方法仅返回用户有权查看的子项。返回的项目可能不代表指定父项的子项的完整列表。