使用 WebSphere Application Server API 通过 LtpaToken2 Cookie 实现下游 Web 单点登录

可以通过程序执行下游单点登录 (SSO) Web 传播轻量级第三方认证 (LTPA) Cookie,而不需要应用程序存储和发送用户凭证。

WebSphere® Application Server 支持通过 API 将 LtpaToken2 Cookie 传播到下游 Web 单点登录应用程序。

在中间层 WebSphere 服务器中运行的 Web 应用程序可能需要通过下游 Web 调用来传播 LtpaToken2 Cookie。在此发行版的 WebSphere Application Server 中,提供了新的应用程序编程接口 (API),以供应用程序开发者通过程序执行下游 SSO (而不需要应用程序)存储和发送用户凭证。

图 1. 使用 LTPA Cookie API 进行下游认证使用 LTPA Cookie API 进行下游认证
此功能是 com.ibm.websphere.security.WSSecurityHelper 包中的公用 API,定义为如下所示:
/**
   * Extracts an LTPA sso token from the subject of current
   * thread and builds a ltpa cookie out of it for use on
   * downstream web invocations. 
   * When the returned value is not null use Cookie methods
   * getName() and getValue() to set the Cookie header
   * on an http request with header value of
   * Cookie.getName()=Cookie.getValue()
   *
   * @return an object of type javax.servlet.http.Cookie. 
   * 
   */
以下是一个说明可以如何使用新的 WSSecurityHelper API 的示例:
import javax.servlet.http.Cookie;
import com.ibm.websphere.security.WSSecurityHelper;

Cookie ltpaCookie = WSSecurityHelper.getLTPACookieFromSSOToken()
不推荐使用的功能部件 不推荐使用的功能部件: 已不推荐使用 WSSecurityHelper 类中的 getLTPACookieFromSSOToken() 方法。使用 WebSecurityHelper 类中的 getSSOCookieFromSSOToken() 方法所提供的功能。depfeat
随后可以在 HTTP 请求头中设置 LTPA Cookie。在这种情况下,Cookie 头的值为字符串:
ltpaCookie.getName()=ltpaCookie.getValue()
例如,如果您使用 org.apache.commons.httpclient.HttpMethod 来构建 HTTP 请求,那么可以将 LTPA Cookie 设置为如下所示:
HttpMethod method = .;  // new your HttpMethod based on the
                        // target URL for the web application
if (ltpaCookie != null)
     method.setRequestHeader(“Cookie”, ltpaCookie.getName()+”=”+ltpaCookie.getValue());
注: 您只应通过 SSL 连接来发送 LTPA Cookie。
注: 在发出任何 getter 方法之前,您必须检查前一个示例中通过调用 WSSecurityHelper.getLTPACookieFromSSOToken() 所返回的 LTPA Cookie 是否不为 null。此外,要成功检索 LTPA Cookie 对象并确保 SSO 令牌在线程上能够执行,请确保用户已成功向中间层服务器进行认证。
注: WebSphere Application Server 未提供用于 HTTP 规划的支持 JAR(例如,Apache httpclient)。您必须提供您自己的支持功能以用于 HTTP 规划。

指示主题类型的图标 概念主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=csec_sso_down
文件名:csec_sso_down.html