Liberty のカスタム TAI の開発

Liberty サーバーで提供される com.ibm.wsspi.security.tai.TrustAssociationInterceptor インターフェースを実装することによって、カスタム・トラスト・アソシエーション・インターセプター (TAI) クラスを開発することができます。

このタスクについて

トラスト・アソシエーション・インターフェースは、サード・パーティーのセキュリティー・サービスを Liberty サーバーに統合できるようにするサービス・プロバイダー API です。Web 要求の処理時に、Liberty サーバーは HttpServletRequest および HttpServletResponse をコールアウトし、トラスト・アソシエーション・インターセプターに渡します。HttpServletRequest は、インターセプターの isTargetInterceptor メソッドを呼び出して、インターセプターが要求を処理できるかどうかを確認します。適切なトラスト・アソシエーション・インターセプターが選択されると、HttpServletRequest は、インターセプターの negotiateValidateandEstablishTrust メソッドによって処理され、結果を TAIResult オブジェクトに戻します。カスタム TAI クラスの各メソッドに、独自のロジック・コードを追加することができます。

TAI インターフェースについては、Java™ API 資料も参照してください。各 Liberty API の Java API 文書は、オンライン IBM Knowledge Center のプログラミング・インターフェース (API) のセクションに詳述されていて、${wlp.install.dir}/dev ディレクトリーのいずれかの javadoc サブディレクトリー内の個別 .zip ファイル内にもあります。

分散プラットフォームの場合トラブルの回避: Liberty でアプリケーションのセキュリティーを構成する際に参照できるよう、WASdev.net Web サイトにいくつかのセキュリティー構成例があります。 開発者ツールを使用した Liberty での TAI の構成』を参照してください。

SimpleTAI というサンプル TAI クラスを以下に示します。これには、TrustAssociationInterceptor インターフェースのすべての使用可能なメソッドもリストされています。

package com.ibm.websphere.security.sample;

import java.util.Properties;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.ibm.websphere.security.WebTrustAssociationException;
import com.ibm.websphere.security.WebTrustAssociationFailedException;
import com.ibm.wsspi.security.tai.TAIResult;
import com.ibm.wsspi.security.tai.TrustAssociationInterceptor;

public class SimpleTAI implements TrustAssociationInterceptor {
   public SimpleTAI() {
      super();
   }

/*
 * @see com.ibm.wsspi.security.tai.TrustAssociationInterceptor#isTargetInterceptor
 * (javax.servlet.http.HttpServletRequest)
 */
   public boolean isTargetInterceptor(HttpServletRequest req)
                  throws WebTrustAssociationException {
      //Add logic to determine whether to intercept this request
      return true;
   }

/*
 * @see com.ibm.wsspi.security.tai.TrustAssociationInterceptor#negotiateValidateandEstablishTrust
 * (javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
 */
   public TAIResult negotiateValidateandEstablishTrust(HttpServletRequest req,
                    HttpServletResponse resp) throws WebTrustAssociationFailedException {
        // Add logic to authenticate a request and return a TAI result.
        String tai_user = "taiUser";
        return TAIResult.create(HttpServletResponse.SC_OK, tai_user);
    }

/*
 * @see com.ibm.wsspi.security.tai.TrustAssociationInterceptor#initialize(java.util.Properties)
 */
    public int initialize(Properties arg0)
                    throws WebTrustAssociationFailedException {
        return 0;
    }

/*
 * @see com.ibm.wsspi.security.tai.TrustAssociationInterceptor#getVersion()
 */
    public String getVersion() {
        return "1.0";
    }

/*
 * @see com.ibm.wsspi.security.tai.TrustAssociationInterceptor#getType()
 */
    public String getType() {
        return this.getClass().getName();
    }

/*
 * @see com.ibm.wsspi.security.tai.TrustAssociationInterceptor#cleanup()
 */
    public void cleanup()

    {}
}

次のタスク

Liberty サーバーに TAI クラスを追加します。

TAI クラスを Liberty サーバーに追加するには、次のいずれかの方法を使用します。

トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: Monday, 5 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-libcore-mp&topic=twlp_dev_custom_tai
ファイル名: twlp_dev_custom_tai.html