我有大量报告,其中访问权限在报告级别而不是文件夹级别进行控制。
虽然一种方法是使用服务器组,但这不是当前设置的方式。虽然这是管理它的好方法。
使用
select C.UserName, D.RoleName, D.Description, E.Path, E.Name
from dbo.PolicyUserRole A
inner join dbo.Policies B on A.PolicyID = B.PolicyID
inner join dbo.Users C on A.UserID = C.UserID
inner join dbo.Roles D on A.RoleID = D.RoleID
inner join dbo.Catalog E on A.PolicyID = E.PolicyID
Where C.UserName = 'XXX'
order by C.UserName
我可以获取用户有权访问的所有报告。
所以我认为我可以生成一个SQL语句,该语句可以授予用户访问相同报告的权限,因为其他用户也可以访问,或者只是给定报告。
但我似乎无法绕过有多少地方插入数据来实现这一目标。
有没有人有解决方案或起点。
我不想破坏某些东西,我想我可以使用SQL来授予对特定报告的访问权。
编辑: 看来我不是唯一一个想要这样做的人:
http://social.msdn.microsoft.com/Forums/en-US/273420db-a506-47bb-9c13-f360e44996bd/bulk-add-users
然而,它的接缝表没有正式记录,进一步存在关于权限的结构和无效性的问题,这使得RS.exe成为使用Web界面给用户或添加特定报告的用户权限的唯一方法或文件夹。