开发用于从应用程序中的 JAAS 主体集检索令牌的 Web Service 客户机

安全处理程序负责传播安全性令牌。这些安全性令牌嵌入在 SOAP 安全头中,并被传递到下游服务器。

关于此任务

此信息仅适用于 Java™ API for XML-based RPC (JAX-RPC) Web Service。

安全性令牌包括在 com.ibm.wsspi.wssecurity.auth.token.Token 接口的实现类中。您可以从服务器应用程序或客户机应用程序检索安全性令牌数据。

使用客户机应用程序,应用程序充当请求生成者和响应使用者,并作为 Java Platform, Enterprise Edition (Java EE) 客户机应用程序运行。Web Service 安全性的使用者组件存储它在当前 Web Service 调用的 MessageContext 对象的其中一个属性中接收的安全性令牌。可以通过该 Web service 调用的 javax.xml.rpc.Stub 接口来检索一组令牌对象。您必须了解要检索哪些安全性令牌及其令牌标识,以防 SOAP 安全头中包含多个安全性令牌。完成以下步骤从客户机应用程序检索安全性令牌数据:

过程

  1. 通过 javax.xml.rpc.Stub 接口中的属性值,使用 com.ibm.wsspi.wssecurity.token.tokenPropergation 关键字字符串获取令牌的散列表。 以下示例说明如何获取散列表:
    java.util.Hashtable t;
    javax.xml.rpc.Service serv = …;
    MyWSPortType pt = (MyWSPortType)serv.getPort(MyWSPortType.class);
    t = (Hashtable)((javax.xml.rpc.Stub)pt)._getProperty( 
    com.ibm.wsspi.wssecurity.Constants.WSSECURITY_TOKEN_PROPERGATION);
  2. 在散列表中搜索定向令牌对象。 散列表中的每个令牌对象都用其令牌标识设置为关键字。您必须事先了解安全性令牌标识来检索安全性令牌。以下示例说明如何从具有特 定令牌标识值的安全头检索用户名令牌:
    com.ibm.wsspi.wssecurity.auth.token.UsernameToken unt;
    if (t != null) {
      unt = (com.ibm.wsspi.wssecuty.auth.token.UsernameToken)t.get(“…”);
    }

结果

完成这些步骤后,您就从客户机应用程序中的 JAAS 主体集检索了安全性令牌。

指示主题类型的图标 任务主题



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