报告服务权限管理

时间:2013-01-25 13:19:13

标签: reporting-services reporting

我有一个下拉列表,它列出了所有员工的姓名。当员工选择他/她的姓名时,报告会显示所选人员的所有信息。但是,我想申请这样的东西;

- 例如,我将完全访问部门负责人。这意味着当他们点击下拉列表时,他们将能够看到所有员工姓名列表。其他未访问过的员工只会在该下拉列表中看到他们的名字。

我该如何管理?

      Employee_Info_View
      ----------------
        NAME             ID
       Employee_A        1
       Employee_B        2
       Employee_C        3
       Employee_D        4
       Employee_E        5

例如,我只是为了查看他的montly性能报告而授予Employee_A权限。当他打开报告时,他必须在名称 - 下拉列表中看到他的名字。此外,如果我向Employee_B授予完全权限,那么他必须在该下拉列表中看到所有名称。

1 个答案:

答案 0 :(得分:0)

报告服务可以获得currwnt用户ID。这可以自动链接到您的员工表以显示信息。在表达式中使用以下内容:

=User!UserID

此外,使用此功能,您可以查看运行报告的用户是否是其他员工的经理,并向员工展示。

首选此方法,因为用户无需选择增加报告安全性的名称。

修改

我希望员工表拥有用户ID,员工和经理。然后查询如:

select *
from   employee e, employee m
Where  (e.userid = @userid or m.userid = @userid)
       And e.manager = m.employee 

如果不是这种情况,那么您应该设置一个链接两个人并创建类似查询的表。然后,这将自动运行并提高安全性。

然后@userid参数为=User!UserID