我花了好几个小时才想出这个,现在我放弃了。
我希望有人可以帮助我。
SSRS 2008 R2报表服务器已启动并正在运行,在使用BIDS时,我设计了一个示例报表并成功部署。
作为管理员,我可以去查看所有内容并运行示例报告。
我在此尝试实现的是限制用户访问文件夹和报告的权限。
这是我为实现这一目标所做的:
在本地服务器(安装SQL Server的位置)中创建了几个组
SQLReportUsers - Users who has access to SQL Server Reporting Services (Web)
Finance - Users who can access to Finance folder in Home Folder
SalesTeam - Users who can access to SalesTeam Folder in Home folder
我创建了用户并将其分配给了一个财务/销售团队组,他们都属于SQLReportUsers组。
拥有SQLReportUsers组的原因是甚至限制任何随机用户访问报告服务。创建“Everyone”将允许访问它(即使他们将无法看到任何没有权限访问项目(文件夹,报告)的内容。在Home foder中,我将SQLReportUsers作为浏览器。
将样本报告部署到Finance文件夹和SalesTeam文件夹。数据源和数据集位于主文件夹中,其他用户看不到它们(我已删除)
我在SQL Server中创建了SQLReport用户帐户,我想将其用作访问SQL中数据的中心点。然后在“数据源属性”(现在只有一个)下,我使用了“在报表服务器中安全地保存凭据”并提供了用户名和密码。测试连接正常。
我创建了一个测试用户(Windows server 2003),然后分配给SQLReportUsers和Finance。
打开Internet Explorer并成功登录到报告服务。 正如预期的那样,此用户帐户只能看到财务文件夹。在财务文件夹中,有样本报告。
问题在于,当我点击报告时,它会说
'报告处理期间发生错误。 (rsProcessingAborted) 授予用户'MSERVER-DELL \ test2'的权限不足以执行此操作。 (rsAccessDenied)'
一切正常,但用户无法打开报告。
我尝试了“安全存储在报表服务器中的凭据”
下的所有选项我尝试了“在连接到数据源时使用Windows凭据”(不仅是报告帐户,还包括我的管理员帐户)以及“在与数据源建立连接后模拟经过身份验证的用户”。
一切都行不通。我尝试了所有可能的组合,但它没有用。
在报告项目的处理选项下,我做了'缓存报告的临时副本。在几分钟后过期报告副本:在我的管理员访问权限下30'然后返回到用户帐户,用户可以提取报告。
这意味着我是用户帐户遇到问题的数据源。
我想知道它出了什么问题。
你可以帮帮我吗?感谢!
答案 0 :(得分:3)
我遇到了与此完全相同的问题,这个解决方案几乎正是Ken Mc所说的。我试图打开的报告包含共享数据源和共享数据集。我已经通过身份验证的用户访问浏览数据源,但完全忘记了数据集,而且神秘的错误消息从未引发我的问题。
总而言之,如果您使用的是任何外部(共享)数据源或数据集,请确保为您在该文件夹上的使用启用正确的安全角色。
答案 1 :(得分:0)
我认为你的DS确实存在问题。如果用户具有浏览器权限,他应该能够看到该报告。
尝试将管理员用户凭据添加到数据源,以查看它是否有效。
答案 2 :(得分:0)
设置数据源时,连接设置应如下所示。对我而言,似乎您正在运行报告集的用户提供的凭据。我错了,但你可以把你的DataSource设置截图
答案 3 :(得分:0)
我有类似的问题。该报告使用共享数据源,该数据源保存在Home文件夹下的共享文件夹中。使用报表管理器(\ server \ reports),我在共享文件夹上选择Security,并使用Browse权限添加用户的组。修好了。我之前已将具有浏览权限的用户组添加到主文件夹属性,并将其作为系统用户添加到站点设置安全性。
我正在为我的网站使用Windows身份验证,所以我只是添加了域用户作为安全组,但我确信其他群组也可以正常运行。
答案 4 :(得分:0)
虽然问到这已经有4年了,但这仍然是我的第一个问题。所以我认为值得分享有效的解决方案。最终,我必须删除缓存的凭据,如下所述:https://stackoverflow.com/a/22234961/6576560
基本上,启动控制面板>凭证管理器并删除存储的凭证。 Windows一直在缓存错误的凭据,不会使用我的实际登录。
我希望这有助于未来的读者。