Asp.net SSRS 2008:ReportViewer没有访问本地报表服务器的权限

Asp.net SSRS 2008:ReportViewer没有访问本地报表服务器的权限,asp.net,authentication,reporting-services,forms-authentication,Asp.net,Authentication,Reporting Services,Forms Authentication,我正试图在我的台式机上设置SSR2008,用于开发目的 以下各项工作正常: 本地服务器上的报表部署 预览投标中的报告 获取htpp://localhost/Reports 面板 但是,当我将ASP.NET Reportviewer指向报告URL时,出现以下错误: 授予用户“NT-AUTHORITY\NETWORKSERVICE”的权限不足以执行此操作。(RSACCESS拒绝) 我怎样才能避开这个错误呢?是否有任何对话框可以授予SSRS对某些表单身份验证角色的访问权限?我在谷歌上搜索了很多,但

我正试图在我的台式机上设置SSR2008,用于开发目的

以下各项工作正常:

  • 本地服务器上的报表部署
  • 预览投标中的报告
  • 获取htpp://localhost/Reports 面板
但是,当我将ASP.NET Reportviewer指向报告URL时,出现以下错误:

授予用户“NT-AUTHORITY\NETWORKSERVICE”的权限不足以执行此操作。(RSACCESS拒绝)

我怎样才能避开这个错误呢?是否有任何对话框可以授予SSRS对某些表单身份验证角色的访问权限?我在谷歌上搜索了很多,但到目前为止我发现的要么是过时的,要么是相当混乱的


编辑:我的web应用程序的几个用户将访问同一个数据库,因此我需要UserID内置字段(User!UserID)要反映用户的表单身份验证ID。我想实现这一点的唯一方法是使SSR与表单身份验证一起工作?

您的web应用程序正在作为网络服务运行,因此您正试图作为用户连接到报表服务器。你有几个选择。首先,您可以授予网络服务权限以执行您尝试运行的报告。第二,您可以让web应用程序模拟windows用户,并向正确的用户授予报告权限。第三,你可以在连接到RS时模拟不同的用户。我相信,要做最后一个,你必须为查看器编写一些扩展代码,告诉它如何在连接之前模拟,但对于其他两个,代码不会改变

如果您的网站不是内部网站,您还可以研究在Forms auth模式下使用Report Server,但这更复杂

编辑第二个问题:
是的,您需要每个用户在访问RS时都是唯一的,因此您需要使用Forms Auth或windows Auth或编写您自己的自定义身份验证扩展。

我已经将NT-AUTHORITY\NETWORKSERVICE添加到ReportManager中的用户列表中,并为其指定了SystemAdmin和SystemUser角色,但没有帮助。这就是您所说的“授予网络服务权限以执行您尝试运行的报告”的意思吗?请尝试首先转到根文件夹,并将“内容管理器”角色授予网络服务。我唯一想检查的是,系统角色是否选中了“执行报告定义”任务。您可以通过SQLServerManagementStudio看到这一点。您还应该验证网络服务对实际报告具有权限。明白了!网络服务,尽管有SystemAdmin和SystemUser角色,但不允许访问该特定报告。非常感谢你的帮助!:-)