在报表服务器上配置自定义身份验证或窗体身份验证
Reporting Services 提供了可扩展的体系结构,该体系结构允许您插入自定义的或基于窗体的身份验证模块。 如果部署要求不包含 Windows 集成安全性或基本身份验证,则可考虑实现自定义的身份验证扩展插件。 使用自定义身份验证的最常见情形是支持对 Web 应用程序的 Internet 或 Extranet 访问。 使用自定义身份验证扩展插件替换默认的 Windows 身份验证扩展插件,可更好地控制如何授予外部用户访问报表服务器的权限。
实际上,部署自定义身份验证扩展插件需要执行多个步骤,包括复制程序集和应用程序文件,修改配置文件以及测试。 本主题仅重点介绍您要在配置文件中指定的身份验证设置。
注意 |
---|
若要创建自定义身份验证扩展插件,需要自定义代码并掌握 ASP.NET 安全性方面的专业知识。 如果您不希望创建自定义身份验证扩展插件,则可以使用 Microsoft Active Directory 组和帐户,但应大幅减小报表服务器部署的范围。 有关自定义身份验证的详细信息,请参阅实现安全扩展插件。 |
此外,如果希望在与 SharePoint 产品集成的 Reporting Services 环境中使用窗体身份验证或自定义身份验证扩展插件,则必须将 SharePoint 站点配置为使用您所选的身份验证方法。 有关在 SharePoint 中配置身份验证的详细信息,请参阅 Microsoft Developer Network (MSDN) 上的 Authentication Samples(身份验证示例)。
将报表服务器配置为使用自定义身份验证
在文本编辑器中打开 RSReportServer.config。 . 默认情况下,该文件位于 \Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportServer 下。
找到 <Authentication>。
复制以下 XML 结构:
<Authentication> <AuthenticationTypes> <Custom /> </AuthenticationTypes> <EnableAuthPersistence>true</EnableAuthPersistence> </Authentication>
将其粘贴在 <Authentication> 的现有条目上。
请注意,不能将 Custom 与其他身份验证类型一起使用。
保存该文件。
打开报表服务器的 Web.config 文件。 默认情况下,该文件位于 \Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportServer 下。
找到 authentication mode 并将其设置为 Forms。
<authentication mode = "Forms" />
找到 identity impersonate 并将其设置为 False。
<identity impersonate = "false" />
打开报表管理器的 Web.config 文件。 默认情况下,该文件位于 \Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportManager 下。
找到 authentication mode 并将其设置为 Forms。
<authentication mode = "Forms" />
查找 identity impersonate 并将其设置为 False。
<identity impersonate = "false" />
将 PassThroughCookies 元素结构添加到配置文件中。 有关详细信息,请参阅配置报表管理器以便传递自定义身份验证 Cookie。
保存该文件。
如果配置了扩展部署,请对该部署中的其他报表服务器重复以上所有步骤。
重新启动报表服务器以清除当前打开的任何会话。