簡體   English   中英

使用SQL查詢和C#以編程方式檢查Reporting Services的角色

[英]Check programmatically Reporting Services's role with SQL query and C#

我使用使用UAC的WiX Toolset創建了一個設置。

我必須以編程方式檢查Windows用戶是否是Reporting Services實例的Content Manager,因為Windows用戶必須可以

  • 發布,更新和刪除報告,文件夾和數據源
  • 向其他Windows帳戶添加新角色

我有:

  • Reporting Services實例名稱
  • 報告服務數據庫名稱
  • Reporting Services實例的Web服務URL

使用WiX,我可以使用C#,SQL查詢...

在SQL Server中,我只使用

IS_SRVROLEMEMBER

檢查Windows帳戶在SQL Server實例上的角色

如何以編程方式檢查Reporting Services中的角色? 也許在Reporting Services的表上使用sql查詢? 任何想法?

謝謝

我不確定這是否是您想要的,但是這些表包含用戶及其角色。

例如

select 
    u.* ,
    r.*
 from ReportServer..Users u
    join ReportServer..PolicyUserRole ur on u.UserID = ur.UserID
    join ReportServer..Roles r on ur.RoleID = r.RoleID
    where  UserName like '%john%'

您可以使用以下代碼

   select U.UserName, R.RoleName,R.Description, C.Path, C.Name 
    from dbo.PolicyUserRole A
       inner join dbo.Policies P on A.PolicyID = P.PolicyID
       inner join dbo.Users U on A.UserID = U.UserID
       inner join dbo.Roles R on A.RoleID = R.RoleID
       inner join dbo.Catalog C on A.PolicyID = C.PolicyID
       WHERE  UserName like '%Ben%'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM