WebSphere Application Server, Version 6.0.x   
             オペレーティング・システム: AIX , HP-UX, Linux, Solaris, Windows

             目次と検索結果のパーソナライズ化

カスタム伝搬トークンのインプリメント

このトピックでは、実行スレッドおよび伝搬されたダウンストリームに設定される、独自の伝搬トークン・インプリメンテーションの作成方法を説明します。

このタスクについて

通常、ユーザー固有でない属性を伝搬するにはデフォルトの伝搬トークンで十分です。 以下のタスクの 1 つを行う場合は、独自のインプリメンテーションを書き込むことを考慮してください。

カスタム伝搬トークンをインプリメントするには、 以下のステップを実行する必要があります。

プロシージャー

  1. PropagationToken インターフェースのカスタム・インプリメンテーションを書き込みます。 PropagationToken インターフェースをインプリメントするさまざまな方法がたくさんあります。 ただし、PropagationToken インターフェースおよびトークン・インターフェースが必要とするメソッドが完全にインプリメントされていることを確認してください。

    このインターフェースをインプリメントした後、app_server_root/classes ディレクトリーにこれを配置することができます。その代わりに、専用ディレクトリーにクラスを配置することもできます。ただし、 WebSphere Application Server クラス・ローダーがクラスを探し出し、適切な許可を与えられることを確認してください。 server.policy ファイルにこのクラスを含む Java アーカイブ (JAR) ファイルまたはディレクトリーを追加して、 サーバー・コードが必要とする許可を持つようにします。

    ヒント: 伝搬フレームワークによって定義されるすべてのトークン・タイプは、同様なインターフェースを持ちます。 トークン・タイプは、com.ibm.wsspi.security.token.Token インターフェースをインプリメントする マーカー・インターフェースです。 このインターフェースはほとんどのメソッドを定義します。 複数のトークン・タイプをインプリメントする場合は、com.ibm.wsspi.security.token.Token インターフェースをインプリメントする抽象クラスを作成することを考慮してください。 すべてのトークン・インプリメンテーション (伝搬トークンを含む) は、抽象クラスを拡張する可能性があり、その後作業のほとんどが完了します。

    伝搬トークンのインプリメンテーションについては、例: com.ibm.wsspi.security.token.PropagationToken インプリメンテーション を参照してください

  2. WebSphere Application Server ログイン中にカスタム伝搬トークンを追加および受け取ります。 このタスクは通常、 カスタム・ログイン・モジュールをさまざまなアプリケーションおよびシステム・ログイン構成に追加することによって行われます。 アプリケーションからインプリメンテーションを追加することもできます。ただし、情報をデシリアライズするために、 カスタム Java 直列化可能オブジェクトの伝搬 で説明されているとおりに、カスタム・ログイン・モジュールに接続する必要があります。WSSecurityPropagationHelper クラスには、スレッドに伝搬トークンを設定し、 スレッドからトークンを検索して更新するために使用される API があります。

    例: カスタム伝搬トークン・ログイン・モジュール のコード・サンプルは、ログインが初期ログインであるか伝搬ログインであるかを判別する方法を示します。これらのログイン・タイプの違いは、WSTokenHolderCallback コールバックが 伝搬データを含んでいるかどうかです。 コールバックが伝搬データを含んでいない場合、新規カスタム伝搬トークンのインプリメンテーションを初期化し、それをスレッドに設定します。コールバックが伝搬データを含んでいる場合は、 特定のカスタム伝搬トークン TokenHolder インスタンスを探し、バイト配列をカスタム PropagationToken オブジェクトに変換して、それをスレッドに設定します。 コード・サンプルは両方のインスタンスを示します。

    カスタム伝搬トークンがスレッドに追加されるときはいつでも属性を追加することができます。 要求の間に属性を追加し、getUniqueId メソッドが変更される場合、Common Secure Interoperability バージョン 2 (CSIv2) クライアント・セッションは無効となり、 新規情報ダウンストリームを送信することができます。 要求間に属性を追加するとパフォーマンスに影響が出ることがあります。 多くの場合、ダウンストリーム要求に新規伝搬トークンの情報を受け取らせます。

    カスタム伝搬トークンをスレッドに追加するには、WSSecurityPropagationHelper.addPropagationToken トークンを呼び出します。 この呼び出しには、WebSphereRuntimePerMission「setPropagationToken」Java 2 セキュリティー許可が必要です。

  3. カスタム伝搬トークンのシリアライズ版を受け取るために既に com.ibm.ws.security.server.lm.wsMapDefaultInboundLoginModule ログイン・モジュールを含んでいる WebSphere Application Server システム・ログイン構成に、カスタム・ログイン・モジュールを追加します。 また、ログイン中にスレッドにカスタム伝搬トークンを生成することがあるどのアプリケーション・ログインにも、このログイン・モジュールを追加できます。 その代わりに、カスタム PropagationToken インプリメンテーションをアプリケーション内から生成することができます。 ただし、それをデシリアライズするには、システム・ログイン・モジュールにインプリメンテーションを追加する必要があります。

    既存のログイン構成にカスタム・ログイン・モジュールを追加する方法については、 システム・ログイン構成用のカスタム・ログイン・モジュール開発 を 参照してください。

結果

これらのステップが完了すると、カスタム PropagationToken がインプリメントされています。



サブトピック
例: com.ibm.wsspi.security.token.PropagationToken インプリメンテーション
例: カスタム伝搬トークン・ログイン・モジュール
関連概念
セキュリティー属性の伝搬
関連タスク
アプリケーション・サーバー間のセキュリティー属性の伝搬
セキュリティー属性伝搬のトークンの実装
関連資料
システム・ログイン構成用のカスタム・ログイン・モジュール開発
タスク・トピック    

ご利用条件 | フィードバック

最終更新: Jan 22, 2008 12:07:38 AM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.base.doc/info/aes/ae/tsec_custpropimpl.html