【问题标题】:Passing username and password to SSRS 2005 reports from web application从 Web 应用程序将用户名和密码传递给 SSRS 2005 报告
【发布时间】:2012-01-04 18:05:38
【问题描述】:

我想根据我的 Web 应用程序数据库中存在的用户名和密码为报告添加安全性。但我不想在以明文形式显示密码的 rdl 文件中添加参数用户名/密码。执行此任务的最佳方法是什么?目前,我的报告服务器绕过了我的 Web 服务?报表 url 直接调用报表服务器上的报表。我可以通过可以验证用户身份的 Web 服务来传递它吗?有什么建议吗?

【问题讨论】:

  • 您是在报告中寻找基于行的安全性,还是尝试将凭据从您的自定义 Web 应用程序传递到报告服务器?
  • @tnktnk 我想从自定义 Web 应用程序传递我的底层存储过程使用的凭据。对于报表服务器凭据,我正在使用 “安全存储在报表服务器中的凭据” 在数据源下的报表管理器上..

标签: passwords reporting-services


【解决方案1】:

为您提供最大灵活性的方法是覆盖 SSRS 中的身份验证:

http://technet.microsoft.com/en-us/library/ms152825.aspx

如果您不能或不愿意采用该方法,最好的选择是将用户名作为报告参数传递。你当然应该隐藏这个参数。在您的报表数据库中,您将希望创建多对多安全表,将您的用户表连接到报表查询中的约束实体。例如,如果您希望按分支机构或办公室或部门或其他方式进行行级安全性,那么您将创建一个 Users_Department 表,并在您的报告中查询您对该表和 users 表的内部联接。

我在过去的项目中成功地做到了这一点。感觉不是很优雅,因为它需要您创建填充和更新这些多对多安全表的属性授权用户界面管理屏幕,此外,您的所有报告查询必须正确连接以过滤到正确的安全表过滤结果数据集。

但在某些情况下,这是您最好(或唯一!)的选择。

【讨论】:

猜你喜欢
  • 2013-03-03
  • 2017-07-11
  • 1970-01-01
  • 1970-01-01
  • 2011-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多