针对 Liberty 使用 LTPA cookie 来定制 SSO 配置
借助单点登录 (SSO) 配置支持,访问 Liberty 资源(例如 HTML、JavaServer Pages (JSP) 文件和 servlet)或访问共享相同轻量级第三方认证 (LTPA) 密钥的多个 Liberty 服务器中的资源时,Web 用户认证一次即可。
示例
当用户在其中一个 Liberty 服务器上通过认证时,会将服务器所生成的认证信息通过 Cookie 传输到 Web 浏览器。使用 cookie 来将认证信息传播到其他 Liberty 服务器。
LTPA 已配置好且可以立即使用。用于存储 SSO 令牌的缺省 cookie 名称称为 ltpaToken2。如果要对该 cookie 使用另一名称,那么可以使用 <webAppSecurity> 元素的 ssoCookieName 属性来定制 cookie 名称。如果定制 cookie 名称,请确保参与 SSO 的所有服务器都使用相同的 cookie 名称。
有关 SSO 的更多信息,请参阅 Liberty 中的 SSO 概念。
以下示例代码将用户设置为 HTTP 会话到期后注销,并将
SSO cookie 的名称设置为 myCookieName:
<webAppSecurity logoutOnHttpSessionExpire="true" ssoCookieName="myCookieName" />
注: 为使 SSO
在 Liberty 服务器和/或完整概要文件服务器间生效,请设置以下资源:
- 服务器必须使用相同 LTPA 密钥并共享相同用户注册表。
- 如果服务器不在相同域中,请使用 <webAppSecurity> 元素的 ssoDomainNames 属性来列示这些域。以下示例代码将域名设置为 domain.com:
<webAppSecurity ssoDomainNames="domain.com" />
- 如果服务器在相同域中,请将 <webAppSecurity> 元素的 ssoUseDomainFromURL 属性设置为
true,或在 ssoDomainNames 属性中指定域名。以下示例代码将
ssoUseDomainFromURL 设置为 true 以通过请求 URL 获取域名:
<webAppSecurity ssoUseDomainFromURL="true" />