繁体   English   中英

如何使用SSRS和BIDS自定义安全扩展访问用户角色/权限?

[英]How can I access user roles/permissions with SSRS and BIDS Custom Security Extension?

我已经为SSRS 2008r2编写并部署了一个自定义安全扩展,除了尝试从BIDS 2008 / Visual Studio中部署报告之外,它还能很好地工作。

安全扩展的体系结构通过多个权限处理登录,我通过在LogonUser()中创建用户会话来管理它,将其保存在数据库中,然后使用传递的UID在RS Web服务的客户端代理类中加载会话来自服务的cookie,然后重写身份验证票证以包含会话UID以及当前用户的用户角色。 然后,可以在自定义授权扩展中使用这些值来管理SSRS操作和对象的用户权限。

我遇到的问题是,从BIDS部署报告时它不起作用。 它直接访问服务,因此不需要服务代理类。 我已经尝试在HTTP上下文中处理后验证事件,但是由于RS服务没有持久存在会话cookie,因此我无法访问会话值。

那我错过了什么? 是否有另一种控制用户角色和权限的方法,不需要在任何地方硬编码用户名? 就像我说的那样,可以使用多个权限进行登录,因此无法通过用户名来管理权限(并且想到它会让我感到畏缩)。

我想到的一个可能的解决方案是为BIDS编写扩展或插件,它本质上充当了Web服务的代理,这将允许我更好地控制登录过程,但我不知道这是否可行(谷歌没有帮助。 ..)

任何帮助都将被感激地接受!

您使用的是IAuthenticationExtension接口吗? 以下链接提供了访问控制的声音示例,如果这是您需要的。 http://blogs.msdn.com/b/jameswu/archive/2008/07/15/anonymous-access-in-sql-rs-2008.aspx

我想可以在这里跟踪nt用户名,然后对活动目录组进行查找等。我在这里看到的主要问题是在ssrs策略配置中启用正确的信任策略。

好吧,我放弃了找到一个优雅的解决方案,所以我走了阻力最小的道路,并遵循我收集的SSRS指南,有一个'主'帐户,我将指定将用于报告部署和订阅。 此帐户需要在设置文件中进行硬编码或从中提取,我不确定是否有其他方法。 干杯。

更新:我走了这条路,它工作正常。 如果用户通过Web前端登录,则可以在那里部署报告,但如果他们想要从开发环境(BIDS)部署,则需要在登录对话框显示时使用主帐户登录。 我已将部署帐户限制为仅限此特定用途。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM