如何使用ReportViewer配置从网站到SSRS的连接

时间:2013-02-27 17:30:01

标签: asp.net sql-server-2008 reporting-services

我继承了一个使用ReportViewer的ASP.NET网站。

我遇到的问题是用于连接到报表服务器的凭据是具有管理员权限的Windows用户的凭据。我想将它们更改为具有所需最低凭据的Windows用户。

我的主数据库现在使用Windows身份验证,所以我已经有一个带有db_datareader的windows用户,db_datawriter访问主数据库。所以我给了ReportServer数据库相同的用户db_datareader权限。在ReportServer上使用的Shared DataSource中,我将“Connect using”设置为“运行报表的用户提供的凭据”,并将“连接到数据源时用作Windows凭据”设置为true。

但是,当我更改网站以使用该用户而不是管理员用户时,我得到“授予用户'DomainName \ UserName'的权限不足以执行此操作。(rsAccessDenied)”

我需要授予此用户哪些其他权限才能使其正常工作?

2 个答案:

答案 0 :(得分:1)

听起来好像用户在Reporting Services中没有相应报告的权限。您可能需要在Reporting Services中向该用户授予权限。您可以从报告管理器网站上执行此操作。

我知道您授予用户对Reporting Services数据库的权限,但这与在Reporting Services中向特定报表授予权限不同。

答案 1 :(得分:0)

好的这就是我实际做的事情 -

使用报告管理器:

  1. 将系统用户角色分配给网站正在使用的DomainName \ UserName。请参阅system-level permission

  2. 为同一用户分配浏览器角色。见item-level permission。现在网站中的报表查看器可以正常工作,但会提示用户输入凭据(我不想要)。

  3. 将共享数据源更改为“使用Windows Integrated Security连接”。现在报告在网站上运行。

  4. 然后,作为Sql Server中的实验,我从ReportServer数据库中删除了用户。该网站仍然有效,所以我猜这个许可从来都不需要。