将用户名和密码传递给Web应用程序的SSRS 2005报告

时间:2012-01-04 18:05:38

标签: passwords reporting-services username

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

1 个答案:

答案 0 :(得分:0)

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

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

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

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

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