Liberty에 대한 사용자 정의 TAI 개발
Liberty 서버에 제공된 com.ibm.wsspi.security.tai.TrustAssociationInterceptor 인터페이스를 구현하여 사용자 정의 신뢰 연관 인터셉터(TAI) 클래스를 개발할 수 있습니다.
이 태스크 정보
신뢰 연관 인터페이스는 Liberty 서버와 써드파티 보안 서비스의 통합을 가능하게 하는 서비스 제공자 API입니다. 웹 요청을 처리할 경우 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 파일로도 사용 가능합니다.

예
다음은 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 클래스를 JAR 파일(예: simpleTAI.jar)에 넣은 다음 그 JAR 파일을 공유 라이브러리로 사용할 수 있도록 만드십시오. Liberty를 위한 TAI 구성을 확인하십시오.
- 사용자 정의 TAI 클래스를 기능으로 패키지하십시오. 사용자 정의 TAI를 Liberty 기능으로 개발을 확인하십시오.