尝试使用自定义身份验证扩展时出现 SSRS 2012 配置错误

SSRS 2012 configuration error when trying to use a custom authentication extension

我正在尝试为 SQL Reporting Server 2012 的实例实施自定义安全扩展,但遇到了一些问题。此扩展用于连接到使用 Forms 身份验证的现有应用程序。

我已经实现了适当的必需接口(IAuthenticationExtensionIAuthorizationExtension),并且据我所知,已经适当地更改了配置文件(按照 MSDN 的说明)。此外,我已将程序集复制到报表服务器(复制到 ReportServer 和 ReportManager 的 bin 目录)。

我得到的错误是: library!ReportServer_0-4!44c!11/20/2015-15:41:12:: e ERROR: Throwing Microsoft.ReportingServices.Diagnostics.Utilities.ServerConfigurationErrorException: Could not load Authentication extension, Microsoft.ReportingServices.Diagnostics.Utilities.ServerConfigurationErrorException: The report server has encountered a configuration error. ;

我已经验证恢复到报表服务器的默认设置(并因此将身份验证模式改回 Windows)是有效的,因此软件安装没有任何问题。我也在 ServerFault 上阅读了这个 question ,但如果不需要的话,我真的不想重建 SSRS。

此时,我并没有尝试做任何花哨的事情——我只是想确保我的扩展程序正确加载。

感谢您的帮助。

来自MSDN

In practice, deploying a custom authentication extension requires multiple steps that include copying assemblies and application files, modifying configuration files, and testing.

听起来您已经修改了报表服务器配置,但错误似乎表明自定义身份验证程序集在报表服务器上不可用 - 服务器上安装了吗?

其实我发现了问题。确保在 rsreportserver.config 中设置自定义扩展时,为 Extension 元素的 Name 属性指定 Forms(如果您正在进行表单身份验证)。这是在 Extensions 父元素下

例如,

<Authentication> <Extension Name="Forms" Type="<TypeName>,<AssemblyName>"/> </Authentication>

我猜因为 SSRS 加载特定的 HTTP 模块来处理各种形式的身份验证(例如 Windows、Forms、Passport 等),它在添加时正在寻找这些模块之一的名称自定义扩展。