1
我已經在SQL Server Reporting Services 2005中設置了幾個不同的用戶帳戶,並且我想以編程方式檢查(通過他們的Web服務)哪個報告給定的用戶有權訪問。 如何做到這一點?SSRS:如何查找給定用戶的報告?
我已經在SQL Server Reporting Services 2005中設置了幾個不同的用戶帳戶,並且我想以編程方式檢查(通過他們的Web服務)哪個報告給定的用戶有權訪問。 如何做到這一點?SSRS:如何查找給定用戶的報告?
您可以使用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方法只返回用戶有權查看子項。返回的項目可能不代表指定父項目的子項目的完整列表。
您是否知道用戶訪問Web服務所需的基本權限/角色?在與具有基本報告權限的用戶進行通話時,出現錯誤,指出「授予的權限不足以執行此操作。」 – JoeBrockhaus 2014-02-10 17:53:05