Liberty의 사용자 정의 TAI 개발

Liberty 서버에서 제공하는 com.ibm.wsspi.security.tai.TrustAssociationInterceptor 인터페이스를 구현하여 사용자 정의 TAI(Trust Association Interceptor) 클래스를 개발할 수 있습니다.

이 태스크 정보

신뢰 연관 인터페이스는 Liberty 서버와 써드파티 보안 서비스의 통합을 가능하게 하는 서비스 제공자 API입니다. 웹 요청을 처리 중인 경우, Liberty 서버는 HttpServletRequestHttpServletResponse를 호출하여 신뢰 연관 인터셉터에 전달합니다. HttpServletRequest는 인터셉터의 isTargetInterceptor 메소드를 호출하여 인터셉터가 요청을 처리할 수 있는지 여부를 확인합니다. 적절한 신뢰 연관 인터셉터가 선택된 후, HttpServletRequest는 인터셉터의 negotiateValidateandEstablishTrust 메소드로 처리되고 TAIResult 오브젝트에서 결과를 리턴합니다. 사용자 정의 TAI 클래스의 개별 메소드에 고유 논리 코드를 추가할 수 있습니다.

TAI 인터페이스는 Java™ API 문서도 참조하십시오. 각 Liberty API에 대한 Java API 문서는 온라인 IBM® Knowledge Center의 프로그래밍 인터페이스(Javadoc) 절에 자세히 설명되어 있으며, ${wlp.install.dir}/dev 디렉토리의 javadoc 서브디렉토리 중 하나에서 별도 .zip 파일로서도 사용 가능합니다.

For distributed platforms문제점 예방: WASdev.net 웹 사이트에는 Liberty의 애플리케이션을 위한 보안을 구성할 때 참조할 수 있는 여러 보안 구성 예가 있습니다. 개발자 도구를 사용한 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 클래스를 추가하십시오.

다음 메소드 중 하나를 사용하여 Liberty 서버에 TAI 클래스를 추가하십시오.

주제의 유형을 표시하는 아이콘 태스크 주제

파일 이름: twlp_dev_custom_tai.html