我正在尝试在台式机上设置SSRS 2008以进行开发。
以下工作正常:
但是当我将ASP.NET Reportview指向报告URL时,我收到以下错误:
授予用户“NT-AUTHORITY \ NETWORKSERVICE”的权限不足以执行此操作。 (rsAccessDenied)
如何解决此错误?是否有任何对话框可以授予某些表单身份验证角色的SSRS访问权限?我已经在Google上搜索过相当多的内容,但到目前为止我发现的内容要么已经过时,要么相当混乱。
编辑:我的网络应用的几个用户将可以访问同一个数据库,因此我需要UserID内置字段(User!UserID)来反映用户的Forms身份验证ID。我想实现这一目标的唯一方法是使SSRS与表单auth一起使用?
答案 0 :(得分:1)
您的Web应用程序正在作为网络服务运行,因此您尝试连接到报表服务器的用户就是。你有几个选择。一,您可以授予网络服务权限以执行您尝试运行的报告。两个您可以让您的Web应用程序模拟Windows用户并为该报告提供正确的用户权限。三,您可以在连接到RS时冒充其他用户。我相信做最后一个你必须为观众写一些扩展代码,告诉它如何在连接之前模仿,但对于其他两个,不会有代码更改。
如果您的网站不是内部网站,您还可以考虑在Forms身份验证模式下使用Report Server,但这更复杂。
编辑第二个问题: 是的,您需要每个用户在访问RS时都是唯一的,因此您需要使用Forms Auth或Windows身份验证或编写自己的自定义身份验证扩展。