SSRS 2017表单身份验证在Windows Server 2016无法运行问题求助
你遇到的报错核心是自定义安全扩展程序集没有获取到足够的执行权限,常见遗漏配置项和解决方法如下:
- 解除DLL的阻止标记
Windows Server默认会为从外部来源下载、拷贝的文件添加安全阻止标记,导致程序集无法加载。找到你部署到ReportServer\bin目录下的Microsoft.Samples.ReportingServices.AnonymousSecurity.dll,右键选择「属性」,在「常规」标签页底部如果有「解除锁定」选项,勾选后点击确定即可,同目录下的相关依赖DLL也要做相同操作。 - 配置SSRS代码访问安全策略
找到SSRS安装目录下的rssrvpolicy.config文件(默认路径为C:\Program Files\Microsoft SQL Server Reporting Services\SSRS\ReportServer\rssrvpolicy.config),在CodeGroup节点层级添加如下配置,给自定义扩展程序集授予FullTrust权限:<CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="FullTrust" Name="SecurityExtensionCodeGroup" Description="自定义安全扩展权限组"> <IMembershipCondition class="UrlMembershipCondition" version="1" Url="替换为你实际存放DLL的绝对路径,比如C:\Program Files\Microsoft SQL Server Reporting Services\SSRS\ReportServer\bin\Microsoft.Samples.ReportingServices.AnonymousSecurity.dll" /> </CodeGroup> - 验证文件访问权限
检查SSRS服务运行账号对ReportServer\bin目录以及自定义安全扩展DLL,拥有「读取和执行」的权限。SSRS默认运行账号为NT SERVICE\ReportServer,如果修改过服务运行账号,需要给对应账号授予对应权限。 - 核对程序集配置信息
检查rsreportserver.config中配置的扩展程序集名称、版本号,和你实际编译生成的DLL信息完全一致,避免拼写错误、版本不匹配的问题。
所有配置修改完成后,重启SSRS服务即可生效。
内容的提问来源于stack exchange,提问作者P S Felix
相关产品推荐
相关产品推荐

