Menu Close
Settings Close

Language and Page Formatting Options

4.5. 使用 Kerberos 为 Web 应用提供 SSO

此情景演示了如何将 Kerberos 与 JBoss EAP 搭配使用,以便为 Web 应用提供 SSO。JBoss EAP 实例已经创建,即 EAP1,它作为单机服务器运行。已将 sampleAppAsampleAppB 这两个 Web 应用部署到 EAP1。Web 应用和 EAP1 都已配置为通过 Kerberos 使用基于桌面的 SSO 进行身份验证。

4.5.1. 安全性

JBoss EAP 使用 SPNEGO 身份验证方法通过 Kerberos 提供身份验证。有关 Kerberos 和 SPNEGO 细节的更多信息,请参阅第三方 SSO 实施部分。为了使 JBoss EAP 和部署的 Web 应用能够使用 Kerberos 进行身份验证,请创建一个 kerberos-security-factory 来连接 Kerberos 服务器。同时也创建一个安全域、角色映射器和安全域,以便将角色分配给来自 Kerberos 服务器的用户。创建一个 http-authentication-factory,它使用 kerberos-security-factory 并使用安全域进行身份验证和角色分配。身份验证机制使用 SPNEGO 身份验证机制作为 exampleSpnegoDomain 公开。undertow 子系统也配置为使用 http-authentication-factory 进行身份验证。

sampleAppAsampleAppB 都配置为使用 exampleSpnegoDomain 执行身份验证并获取用户的角色以进行授权。当安全令牌无法从操作系统传递到浏览器 ,这两个应用也可以将 FORM 身份验证配置为回退身份验证机制。如果 FORM 身份验证 配置为回退,则必须配置额外的身份验证机制以及支持的安全域。此身份验证机制独立于 Kerberos 和 SPNEGO,仅需支持 FORM 身份验证。在本例中,已经为 FORM 身份验证 配置了额外的机制和支持安全域,并作为 exampleFormDomain 公开。每个应用都配置为使用 exampleFormDomain,并提供 FORM 身份验证 作为回退。每个应用程序也被配置为保护路径 /secure/*,并提供自己的角色列表来处理授权。