보안 속성 전파에 대한 사용자 정의 전파 토큰 구현
이 주제에서는 실행 중인 스레드 및 전파된 다운스트림에 설정되는 사용자 고유의 전파 토큰 구현을 작성하는 방법을 설명합니다.
이 태스크 정보
- 사용자 고유의 구현 내에서 속성을 고립시키십시오.
- 사용자 정의 직렬화를 사용하여 정보를 직렬화하십시오. 사용자 정의 로그인 모듈을 인바운드 시스템 로그인 구성에 플러그인하여 대상에서 바이트를 직렬화 해제하고 해당 정보를 스레드에 다시 추가해야 합니다. 이 태스크에는 암호화 및 복호화가 포함될 수도 있습니다.
사용자 정의 전파 토큰을 구현하려면 다음 단계를 완료해야 합니다.
프로시저
- PropagationToken 인터페이스의 사용자 정의 구현을 작성하십시오. PropagationToken 인터페이스를 구현하기 위해 여러 가지 메소드를 사용 가능합니다.
그러나 PropagationToken 인터페이스 및 토큰 인터페이스가 필요로 하는 메소드가 완전히 구현되는지 확인하십시오.
이 인터페이스를 구현한 후에는 이를 app_server_root/classes 디렉토리에 놓을 수 있습니다. 또는 클래스를 개인 디렉토리에 놓을 수 있습니다. 그러나 WebSphere Application Server 클래스 로더가 클래스를 찾을 수 있는지와 적합한 권한이 부여되는지를 확인하십시오. 이 클래스를 포함하는 JAR(Java™ archive) 파일 또는 디렉토리를 서버 코드가 필요로 하는 필수 권한이 있도록 server.policy 파일에 추가할 수 있습니다.
이 인터페이스를 구현한 후에는 이를 profile_root/classes 디렉토리에 놓을 수 있습니다. 클래스에 대한 자세한 정보는 사용자 정의 클래스를 위해 프로파일에 클래스 서브디렉토리 작성의 내용을 참조하십시오.
팁: 전파 프레임워크에 의해 정의되는 모든 토큰 유형에는 유사한 인터페이스가 있습니다. 토큰 유형은 com.ibm.wsspi.security.token.Token 인터페이스를 구현하는 마커 인터페이스입니다. 이 인터페이스는 대부분의 메소드를 정의합니다. 둘 이상의 토큰 유형을 구현할 계획이면 com.ibm.wsspi.security.token.Token 인터페이스를 구현하는 추상 클래스를 작성할 것을 고려하십시오. 전파 토큰을 포함하여 모든 토큰 구현은 추상 클래스를 확장할 수 있고 그러면 대부분의 작업이 완료됩니다.전파 토큰의 구현을 보려면 예제: com.ibm.wsspi.security.token.PropagationToken 구현의 내용을 참조하십시오.
- WebSphere
Application Server 로그인 동안 사용자 정의 전파 토큰을 추가하고 수신하십시오. 이 태스크는 일반적으로 사용자 정의 로그인 모듈을 다양한 애플리케이션 및 시스템 로그인 구성에
추가하여 수행됩니다.
애플리케이션에서 구현을 추가할 수도 있습니다. 그러나 정보를 직렬화 해제하기 위해서는 보안 속성 전파를 위한 사용자 정의 Java 직렬화 가능 오브젝트 전파에서 설명된 사용자 정의 로그인 모듈을 플러그인해야 합니다. WSSecurityPropagationHelper
클래스에는 스레드에 전파 토큰을 설정하는 데 사용되고 업데이트를 위해 스레드로부터 토큰을 검색하는 데 사용되는 API가 있습니다.
예제: 사용자 정의 전파 토큰 로그인 모듈의 코드 샘플은 로그인이 초기 로그인 또는 전파 로그인인지 여부를 판별하는 방법을 보여줍니다. 이러한 로그인 유형 간의 차이는 WSTokenHolderCallback 콜백에 전파 데이터가 포함되는지 여부입니다. 콜백에 전파 데이터가 포함되지 않으면 새 사용자 정의 전파 토큰 구현을 초기화하고 이를 스레드에 설정하십시오. 콜백에 전파 데이터가 포함되는 경우에는 사용자의 특정 사용자 정의 전파 토큰 TokenHolder 인스턴스를 찾아보고, 바이트 배열을 다시 사용자 정의 PropagationToken 오브젝트로 변환하고, 이를 다시 스레드에 설정하십시오. 코드 샘플은 두 인스턴스를 모두 보여줍니다.
사용자 정의 전파 토큰이 스레드에 추가될 때마다 속성을 추가할 수 있습니다. 요청 간에 속성을 추가하고 getUniqueId 메소드가 변경되면 CSIv2(Common Secure Interoperability Version 2) 클라이언트 세션은 새 정보 다운스트림을 전송할 수 있도록 무효화됩니다. 요청 간에 속성을 추가하면 성능에 영향을 미칠 수 있습니다. 대부분의 경우에 다운스트림 요청이 새 전파 토큰 정보를 받기를 원합니다.
사용자 정의 전파 토큰을 스레드에 추가하려면 WSSecurityPropagationHelper.addPropagationToken 메소드를 호출하십시오. 이 호출에는 WebSphereRuntimePerMission "setPropagationToken" Java 2 보안 권한이 필요합니다.
- 사용자 정의 로그인 모듈을 사용자 정의 전파 토큰의 직렬화된 버전을 수신하기 위해 이미
com.ibm.ws.security.server.lm.wsMapDefaultInboundLoginModule 로그인 모듈을 포함하는 WebSphere Application Server 시스템 로그인 구성에 추가하십시오. 이 로그인 모듈을 로그인 중에 스레드에서 사용자 정의 전파 토큰을 생성하고 싶은 애플리케이션의 로그인에
추가할 수도 있습니다. 또는 애플리케이션 내에서 사용자 정의 PropagationToken 구현을 생성할 수도 있습니다.
그러나 이를 직렬화 해제하려면 구현을 시스템 로그인 모듈에 추가해야 합니다.
사용자 정의 로그인 모듈을 기존 로그인 구성에 추가하는 방법에 대한 자세한 정보는 JAAS를 위한 시스템 로그인 구성을 위한 사용자 정의 로그인 모듈 개발의 내용을 참조하십시오.
결과
하위 주제
예제: com.ibm.wsspi.security.token.PropagationToken 구현
이 파일을 사용하여 전파 토큰 구현에 대한 예제를 볼 수 있습니다. 다음 샘플 코드는 추상 클래스를 확장하지 않고 com.ibm.wsspi.security.token.PropagationToken 인터페이스를 직접 구현합니다. 인터페이스를 직접 구현할 수는 있지만 중복 코드가 작성될 수 있습니다. 그러나 여러 토큰 구현의 처리 방법 간에 상당한 차이가 있는 경우에는 인터페이스를 직접 구현할 수 있습니다.예제: 사용자 정의 전파 토큰 로그인 모듈
이 예제는 로그인이 초기 로그인인지, 아니면 전파 로그인인지를 판별하는 방법을 보여줍니다.


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsec_custpropimpl
파일 이름:tsec_custpropimpl.html