SSRS 2008:ReportViewer 没有本地报表服务器的访问权限
我正在尝试在我的台式机上设置 SSRS 2008 以用于开发目的。
以下工作正常:
- 本地服务器上的报告部署
- 在 BIDS 中预览报告
- 访问 htpp://localhost/Reports 面板
但是,当我将 ASP.NET Reportviewer 指向报告 URL 时,出现以下错误:
授予的权限用户“NT-AUTHORITY\NETWORKSERVICE”不足以执行此操作。 (rsAccessDenied)
如何解决此错误?是否有任何对话框可以授予 SSRS 对某些表单身份验证角色的访问权限?我在谷歌上搜索了很多这方面的内容,但到目前为止我发现的内容要么过时,要么相当混乱。
编辑: 我的网络应用程序的多个用户将有权访问同一数据库,因此我需要 UserID 内置字段 (User!UserID) 来反映用户的表单身份验证 ID。我想实现这一点的唯一方法是让 SSRS 与表单身份验证一起工作?
I'm trying to set up SSRS 2008 on my desktop machine for development purposes.
The following is working fine:
- Report deployment on local server
- Previewing the report in BIDS
- Access to htpp://localhost/Reports panel
But when I point the ASP.NET Reportviewer to the Report URL, I get the following error:
The permissions granted to user 'NT-AUTHORITY\NETWORKSERVICE' are insufficient for performing this operation. (rsAccessDenied)
How can I get around this error? Is there any dialog where I can grant SSRS access rights to certain forms authentication roles? I've googled quite a bit on this, but what I have found so far was either outdated or quite confusing.
Edit: Several users of my web app are going to have access to the same database, so I need the UserID build-in field (User!UserID) to reflect the user's Forms authentication ID. I guess the only way to achieve this is making SSRS work with forms auth?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的 Web 应用程序作为网络服务运行,因此这是您尝试连接到报表服务器的用户。您有多种选择。第一,您可以授予网络服务执行您尝试运行的报告的权限。第二,您可以让您的 Web 应用程序模拟 Windows 用户并授予正确的用户对报告的权限。当连接到 RS 时,您可以模拟三个不同的用户。我相信要做最后一个,您将必须为查看器编写一些扩展代码,以告诉它如何在连接之前模拟,但对于其他两个,不会有任何代码更改。
如果您的网站不是内部网站,您还可以考虑在表单身份验证模式下使用报表服务器,但这会更复杂。
编辑第二个问题:
是的,您需要每个用户在访问 RS 时都是唯一的,因此您需要使用 Forms Auth 或 windows auth 或编写自己的自定义身份验证扩展。
You web application is running as Network Service so that is the user you are trying to connect to Report Server as. You have several options. One, you can grant Network Service permission to execute the report you are trying to run. Two you can have your web application impersonate a windows user and give the correct users permission to the report. Three you can impersonate impersonate a different user when connecting to RS. I believe to do the last one you will have to write some extension code for the viewer to tell it how to impersonate before connecting, but for the other two there would be no code change.
You could also look into using Report Server in Forms auth mode if your web site is not an internal site, but this is more complicated.
EDIT for 2nd Question:
Yes, you will need each user to be unique when they access RS so you will need to use Forms Auth or windows auth or write your own custom authentication extension.