我正在尝试为 SQL Reporting Server 2012 实例实现自定义安全扩展,但遇到了一些问题。此扩展用于连接到使用 Forms 身份验证的现有应用程序。
我已经实现了适当的必需接口(interface)(IAuthenticationExtension
和 IAuthorizationExtension
),并且据我所知,已经适本地更改了配置文件(按照 MSDN 的说明) .此外,我已将程序集复制到报表服务器(复制到 ReportServer 和 ReportManager 的 bin 目录)。
我得到的错误是:
library!ReportServer_0-4!44c!11/20/2015-15:41:12::e 错误:抛出 Microsoft.ReportingServices.Diagnostics.Utilities.ServerConfigurationErrorException:无法加载身份验证扩展 Microsoft.ReportingServices.Diagnostics。 Utilities.ServerConfigurationErrorException:报表服务器遇到配置错误。 ;
我已经验证恢复到报表服务器的默认设置(并因此将身份验证模式更改回 Windows
)是有效的,因此软件安装没有任何问题。我也读过这个 question 在 ServerFault,但如果不需要的话,我真的不想重建 SSRS。
此时,我并没有尝试做任何花哨的事情——我只是想确保我的扩展程序正确加载。
感谢您的帮助。
最佳答案
其实我发现了问题。确保在 rsreportserver.config
中设置自定义扩展程序您指定 Forms
对于 Name
Extension
的属性元素(如果您正在进行表单例份验证)。这是在Extensions
下父元素
例如,
<Authentication>
<Extension Name="Forms" Type="<TypeName>,<AssemblyName>"/>
</Authentication>
我猜测,由于 SSRS 会加载特定的 HTTP 模块来处理各种形式的身份验证(例如 Windows、Forms、Passport 等),因此它在添加自定义扩展时会查找其中一个模块的名称。
关于reporting-services - 尝试使用自定义身份验证扩展时出现 SSRS 2012 配置错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33835968/