주제(Subject) 작성을 위한 신뢰 연관 인터셉터 지원

TAI(Trust Association Interceptor) com.ibm.wsspi.security.tai.TrustAssociationInterceptor 인터페이스는 기존 com.ibm.websphere.security.TrustAssociationInterceptor 인터페이스와 다른 여러 기능을 지원합니다.

TAI 인터페이스는 단계별, 조정된 인증 프로세스를 지원합니다. 예를 들어, 일부 시스템은 클라이언트로 다시 인증 확인 응답 프로토콜을 필요로 합니다. 이 인터페이스에서 두 키 메소드는 다음과 같습니다.
키 메소드 이름
public boolean isTargetInterceptor (HttpServletRequest req)

isTargetInterceptor 메소드는 요청이 인터셉터와 연관된 프록시 서버에서 시작되었는지 여부를 판별합니다. 구현 코드는 수신 요청 오브젝트를 조사하고 요청을 전달하는 프록시 서버가 이 인터셉터에 대해 유효한 프록시 서버인지를 판별해야 합니다. 이 메소드의 결과는 인터셉터가 요청을 처리하는지 여부를 판별합니다.

메소드 결과

true 값은 WebSphere® Application Server에 TAI가 요청을 처리하도록 지시합니다.

false 값은 WebSphere Application Server에 TAI를 무시하도록 지시합니다.

키 메소드 이름
public TAIResult negotiateValidateandEstablishTrust (HttpServletRequest req, HttpServletResponse res)

negotiateValidateandEstablishTrust 메소드는 요청이 시작되는 프록시 서버를 신뢰할 것인지 판별합니다. 구현 코드는 프록시 서버를 인증해야 합니다. 인증 메커니즘은 프록시 서버에 특정합니다. 예를 들어 WebSEAL 서버에 대한 제품 구현에서, 이 메소드는 HTTP 헤더에서 기본 인증 정보를 수신하며 WebSphere Application Serve가 사용하는 사용자 레지스트리에 대해 정보의 유효성을 검증합니다. 신임 정보가 유효하지 않으면, 코드는 WebTrustAssociationException 예외를 작성하며, 프록시 서버가 신뢰되지 않으며 요청이 거부됨을 표시합니다. 신임 정보가 유효한 경우, 코드는 TAIResult 결과를 리턴하며, 웹 자원 권한 부여에 사용할 클라이언트 ID(주제 및 프린시펄 이름)로 요청 처리의 상태를 표시합니다.

메소드 결과
TAIResult 결과를 리턴하며, 요청 처리의 상태를 표시합니다. 요청 오브젝트를 조회하고 응답 오브젝트를 수정할 수 있습니다.
TAIResult 클래스에는 TAIResult 결과를 작성하기 위한 세 정적 메소드가 있습니다. TAIResult 작성 메소드는 int 유형을 첫 번째 매개변수로 사용합니다. WebSphere Application Server는 결과가 유효한 HTTP 요청 리턴 코드가 될 것으로 예상하고 다음 방법 중 하나로 해석합니다.
  • 값이 HttpServletResponse.SC_OK이면, 이 응답은 WebSphere Application Server에 TAI가 협상을 완료했음을 알립니다. 또한 응답은 WebSphere Application Server에 TAIResult 결과의 정보를 사용하여 사용자 ID를 작성하도록 지시합니다.
  • 기타 값은 WebSphere Application Server에 HttpServletResponse 응답으로 배치되는 TAI 출력을 웹 클라이언트에 리턴하도록 지시합니다. 일반적으로 웹 클라이언트는 추가 정보를 제공한 다음 TAI를 한 번 더 호출합니다.
표 1. TAIResults 정의. 작성된 TAIResults 결과에는 다음 의미가 있습니다.
TAIResult 설명
public static TAIResult create(int status); WebSphere Application Server에 대한 상태를 표시합니다. ID 정보가 제공되기 때문에 상태는 SC_OK일 수 없습니다.
public static TAIResult create(int status, String principal); WebSphere Application Server에 대한 상태를 표시하고 사용자 ID나 이 사용자에 대한 고유 ID를 제공합니다. WebSphere Application Server는 사용자 레지스트리를 조회하여 신임 정보를 작성합니다.
public static TAIResult create(int status, String principal, Subject subject); WebSphere Application Server에 대한 상태, 사용자 ID나 사용자에 대한 고유 ID 및 사용자 정의 주제를 표시합니다. 주제가 hashtable을 포함하면 프린시펄이 무시됩니다. 주제의 컨텐츠는 최종 사용자 주제의 일부가 됩니다.
다음 모든 예는 TAI의 negotiateValidateandEstablishTrust 메소드 내에 있습니다.
다음 코드 샘플은 추가 협상이 필요함을 표시합니다.
// Modify the HttpServletResponse object
//  The response code is meaningful only on the client
	return TAIResult.create(HttpServletResponse.SC_CONTINUE);
다음 코드 샘플은 TAI가 사용자 ID를 판별했음을 표시합니다. WebSphere Application Server는 사용자 ID만을 수신하고 추가 정보를 위해 사용자 레지스트리를 조회합니다.
// modify the HttpServletResponse object
	return TAIResult.create(HttpServletResponse.SC_OK, userid);
다음 코드 샘플은 TAI가 사용자 ID를 판별했음을 표시합니다. WebSphere Application Server가 hashtable에 포함된 전체 사용자 정보를 수신합니다. hashtable에 대한 자세한 정보는 인바운드 ID 맵핑 구성의 내용을 참조하십시오. 이 코드 샘플에서 hashtable은 주제의 공용 신임 정보 부분에 배치됩니다.
// create Subject and place Hashtable in it
	Subject subject = new Subject;
	subject.getPublicCredentials().add(hashtable);
// the response code is meaningful for only the client
	return TAIResult.create(HttpServletResponse.SC_OK, "ignored", subject);
다음 코드 샘플은 인증 실패가 발생했음을 표시합니다. WebSphere Application Server는 인증 요청에 실패합니다.
//log error message
// ....
	throw new WebTrustAssociationFailedException("TAI failed for this reason");

다음 메소드는 TrustAssociationInterceptor 인터페이스에 대한 추가 메소드입니다. 이 메소드는 초기화, 시스템 종료 및 WebSphere Application Server에 대한 TAI 식별을 위해 사용됩니다. 자세한 정보는 Java™ 문서를 참조하십시오.

메소드 이름
public int initialize(Properties props)

메소드 결과
이 메소드는 TAI 초기화 중 호출되며 사용자 정의 특성이 인터셉터에 대해 구성된 경우에만 호출됩니다.
메소드 이름
public String getVersion()
메소드 결과
이 메소드는 TAI의 버전을 리턴합니다.
메소드 이름
public String getType()
메소드 결과
이 메소드는 TAI의 유형을 리턴합니다.
메소드 이름
public void cleanup()
메소드 결과
이 메소드는 WebSphere Application Server 프로세스를 중지할 때 호출됩니다. WebSphere Application Server 프로세스를 중지하면 TAI가 필요한 정리를 수행할 기회를 제공합니다. 정리가 필요하지 않은 경우 이 메소드는 필수가 아닙니다.

주제 유형을 표시하는 아이콘 참조 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rsec_taisubcreate
파일 이름:rsec_taisubcreate.html