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

Reporting services 尝试使用自定义身份验证扩展时出现SSRS 2012配置错误,reporting-services,ssrs-2012,Reporting Services,Ssrs 2012,我正在尝试为SQL Reporting Server 2012的一个实例实现自定义安全扩展,但遇到了一些问题。此扩展将钩住使用表单身份验证的现有应用程序 我已经实现了相应的必需接口(iaauthenticationextension和iaauthorizationextension),并且据我所知,已经适当地更改了配置文件(按照MSDN的说明)。此外,我已将程序集复制到报表服务器(ReportServer和ReportManager的bin目录) 我得到的错误是: 库!ReportServer_

我正在尝试为SQL Reporting Server 2012的一个实例实现自定义安全扩展,但遇到了一些问题。此扩展将钩住使用表单身份验证的现有应用程序

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

我得到的错误是:
库!ReportServer_0-4!44c!2015年11月20日-15:41:12::e错误:抛出Microsoft.ReportingServices.Diagnostics.Utilities.ServerConfigurationErrorException:无法加载身份验证扩展,Microsoft.ReportingServices.Diagnostics.Utilities.ServerConfigurationErrorException:报表服务器遇到配置错误

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

在这一点上,我并不想做任何花哨的事情——我只是想确保我的扩展加载正确

感谢您的帮助。

来自:

实际上,部署自定义身份验证扩展需要多个步骤,包括复制程序集和应用程序文件、修改配置文件和测试


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

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

比如说,



我猜,由于SSRS加载特定的HTTP模块来处理各种形式的身份验证(如Windows、表单、Passport等),因此在添加自定义扩展时,它会查找其中一个模块的名称。

我编辑了我的问题。是的,我确保程序集位于ReportServer和ReportManager文件夹的bin目录中。还有什么我没有注意到的吗?MSDN的文章似乎对如何实际部署自定义安全扩展的细节非常清楚,“产品示例”页面上有更多关于示例安全扩展的信息-看起来可能需要一些额外的配置:看起来我的配置文件中有一个错误-至少我现在没有收到上面的错误。我想这个故事的寓意是反复检查拼写错误或缺少的元素。我检查了该示例,然后将其修改为使用我的扩展名。此
ServerConfigurationErrorException
使我:
无法创建类型为:Authenticationname:None,…
的扩展名。在我的案例中,原因是标准示例中
授权
身份验证扩展
之间的不一致。我忘记了
rsreportserver.config
中类型名中的“扩展名”:
Type=“Microsoft.Samples.ReportingServices.CustomSecurity.AuthenticationExtension,…
。也许他们至少可以在错误消息中提到一个更具体的错误(例如,失败的类型名)。