アプリケーション内の JAAS サブジェクトからトークンを取得する Web サービス・クライアントの開発

セキュリティー・ハンドラーは セキュリティー・トークンの伝搬を担います。 これらのセキュリティー・トークンは、SOAP セキュリティー・ヘッダーに組み込まれ、 ダウンストリーム・サーバーに渡されます。

このタスクについて

この情報は、Java™ API for XML-based RPC (JAX-RPC) Web サービスに対してのみ適用されます。

セキュリティー・トークンは com.ibm.wsspi.wssecurity.auth.token.Token インターフェースの実装クラスでカプセル化されます。セキュリティー・トークン・ データは、サーバー・アプリケーションまたはクライアント・アプリケーションのいずれかから検索することができます。

クライアント・アプリケーションでは、アプリケーションは要求ジェネレーター および応答コンシューマーとして機能し、 Java Platform, Enterprise Edition (Java EE) クライアント・アプリケーションとして実行します。Web Services Security のコンシューマー・コンポーネントは、現行の Web サービス呼び出しに対する MessageContext オブジェクトのプロパティーの 1 つで受け取るセキュリティー・トークンを保管します。その Web サービス呼び出しの javax.xml.rpc.Stub インターフェースを介して、トークン・オブジェクトのセットを検索することができます。複数のセキュリティー・トークンが SOAP セキュリティー・ヘッダーに組み込まれている場合、 検索するセキュリティー・トークンおよびそれらのトークン ID を知っておく必要があります。 以下のステップを実行して、クライアント・アプリケーションからセキュリティー・トークン・データを検索します。

手順

  1. com.ibm.wsspi.wssecurity.token.tokenPropergation 鍵ストリングを使用して、 javax.xml.rpc.Stub インターフェースでプロパティー値を介してトークンの Hashtable を取得します。 次の例は、Hashtable の取得方法を示しています。
    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. Hashtable でターゲットとするトークン・オブジェクトを検索します。 Hashtable 内の各トークン・オブジェクトは、そのトークン ID を鍵として設定されます。セキュリティー・トークンを検索するには、 ユーザーはセキュリティー・トークン ID について事前知識を持っている必要があります。 次の例は、特定のトークン ID 値で、セキュリティー・ヘッダーからユーザー名トークンを検索する方法について示しています。
    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