J2C 프린시펄 맵핑 모듈

애플리케이션에 보다 정교한 맵핑 기능이 필요한 경우 자체 J2C(J2EE Connector) 맵핑 모듈을 개발 할 수 있습니다. WebSphere® Application Server 버전 5.x에서 개발했을 수도 있는 맵핑 로그인 모듈은 WebSphere Application Server 버전 6.0.x 이상에서 계속해서 지원됩니다.

연결 팩토리 맵핑 구성에서 버전 5.x 로그인 모듈을 사용할 수 있습니다. 이러한 로그인 모듈은 자원 관리자 연결 팩토리에 대한 참조 맵핑 구성에도 사용할 수 있습니다. 버전 5.x 맵핑 로그인 모듈은 사용자 정의 맵핑 특성에 사용할 수 없습니다.

버전 6.0.x 이상에서 새 맵핑 로그인 모듈을 개발하려는 경우 다음 섹션에서 설명되는 프로그래밍 인터페이스를 사용하십시오.

상태 전이: 애플리케이션 범위에서 맵핑 구성 격리 및 새 프로그래밍 모델과 새 사용자 정의 특성을 사용하려면 버전 5.x 맵핑 로그인 모듈을 마이그레이션하십시오. WebSphere Application Server 버전 6.0.x를 사용하여 개발된 맵핑 로그인 모듈은 자원 연결 팩토리에 대해 더 이상 사용되지 않는 맵핑 구성에서 사용할 수 없음에 유의하십시오.

자원 참조 맵핑에 대한 로그인 모듈 호출

javax.security.auth.callback.CallbackHandler 인터페이스를 구현하는 com.ibm.wsspi.security.auth.callback.WSMappingCallbackHandler 클래스는 WebSphere Application Server 버전 6.0.x에서 새 WebSphere 애플리케이션 SPI(Service Provider Programming Interface)입니다.

애플리케이션 코드는 com.ibm.wsspi.security.auth.callback.WSMappingCallbackHandlerFactory 헬퍼 클래스를 사용하여 CallbackHandler 오브젝트를 검색합니다.
package com.ibm.wsspi.security.auth.callback;

public class WSMappingCallbackHandlerFactory {
	private WSMappingCallbackHandlerFactory;
	public static CallbackHandler getMappingCallbackHandler(
ManagedConnectionFactory mcf,
HashMap mappingProperties);
}
WSMappingCallbackHandler 클래스는 CallbackHandler 인터페이스를 구현합니다.
package com.ibm.wsspi.security.auth.callback;

public class WSMappingCallbackHandler implements CallbackHandler {
	public WSMappingCallbackHandler(ManagedConnectionFactory mcf,
HashMap mappingProperties);
	public void handle(Callback[] callbacks) throws IOException,
     UnsupportedCallbackException; 
}
WSMappingCallbackHandler 핸들러는 버전 6.0.x에서 정의되는 두 개의 새 콜백 유형을 관리할 수 있습니다.
com.ibm.wsspi.security.auth.callback.WSManagedConnectionFactoryCallback 
com.ibm.wsspi.security.auth.callback.WSMappingPropertiesCallback

새 로그인 모듈은 자원 관리자 연결 팩토리에 대한 참조 맵핑 구성에서 사용되는 두 개의 콜백 유형을 사용합니다. WSManagedConnectionFactoryCallback 콜백은 PasswordCredential 신임 정보에서 설정한 ManagedConnectionFactory 인스턴스를 제공합니다. 이 설정에서 ManagedConnectionFactory 인스턴스는 PasswordCredential 인스턴스가 대상 EIS(Enterprise Information Systems) 인스턴스에 대한 사인온에 사용되는지 여부를 판별할 수 있습니다. WSMappingPropertiesCallback 콜백은 사용자 정의 맵핑 특성을 포함하는 해시 맵을 제공합니다. com.ibm.mapping.authDataAlias 특성은 인증 데이터 별명을 예약하거나 검색하는 데 사용할 수 있습니다.

참고: 이전 예제에서 MCF의 값은 PasswordCredential로 설정됩니다.
WebSphere Application Server WSMappingCallbackHandle 핸들은 이전 맵핑 로그인 모듈이 사용할 수 있는 두 WebSphere Application Server 버전 5.x 콜백 유형을 계속 지원합니다. 정의된 두 콜백은 로그인 구성이 연결 팩토리에서 사용하는 로그인 모듈에 의해서만 사용될 수 있습니다. 역호환성을 위해 WebSphere Application Server 버전 6.0.x 이상은 버전 5.x 로그인 모듈에 대한 WSAuthDataAliasCallback 콜백을 사용하여 com.ibm.mapping.authDataAlias 특성 이름 아래에 사용자 정의 특성 목록에서 정의되는 경우 인증 데이터 별명을 전달합니다.
com.ibm.ws.security.auth.j2c.WSManagedConnectionFactoryCallback 
com.ibm.ws.security.auth.j2c.WSAuthDataAliasCallback

연결 팩토리 맵핑에 대한 로그인 모듈 호출

WSPrincipalMappingCallbackHandler 클래스는 다음 두 가지 콜백 유형을 처리합니다.
com.ibm.wsspi.security.auth.callback.WSManagedConnectionFactoryCallback 
com.ibm.wsspi.security.auth.callback.WSMappingPropertiesCallback

WSPrincipalMappingCallbackHandler 핸들러 및 두 개의 콜백은 WebSphere Application Server 버전 6에서 더 이상 사용되지 않습니다.

자원 참조의 맵핑 특성을 맵핑 로그인 모듈에 전달

임의의 사용자 정의 특성을 맵핑 로그인 모듈에 전달할 수 있습니다. 다음 예제는 WebSphere Application Server 기본 맵핑 로그인 모듈이 인증 데이터 별명 특성을 검색하는 방법을 보여줍니다.

		try {
		    wspm_callbackHandler.handle(callbacks);
	            	            String userID = null;
	            String password = null;
	            String alias = null;
	            wspm_properties = ((WSMappingPropertiesCallback)callbacks[1]).getProperties();
	
	            if (wspm_properties != null) {
	                alias = (String) wspm_properties.get(com.ibm.wsspi.security.auth.callback.
                     Constants.MAPPING_ALIAS);
	                if (alias != null) {
	                    alias = alias.trim();
	                }
	            }
	            } catch (UnsupportedCallbackException unsupportedcallbackexception) {
	. . . // error handling
WebSphere Application Server 버전 6.0.x의 기본 맵핑 로그인 모듈에는 인증 데이터 별명을 정의하기 위한 한 개의 맵핑 특성이 필요합니다. MAPPING_ALIAS라고 하는 맵핑 특성은 com.ibm.wsspi.security.auth.callback 패키지의 Constants.class 파일에서 정의됩니다.

MAPPING_ALIAS    =   "com.ibm.mapping.authDataAlias"

자원에 자원 참조 맵핑 패널에서 기본 메소드 사용 > 인증 데이터 항목 인증 선택을 클릭하면 관리 콘솔이 맵핑 특성에서 선택된 인증 데이터 별명 값으로 MAPPING_ALIAS 항목을 자동으로 작성합니다. 자체 사용자 정의 로그인 구성을 작성한 다음 기본 맵핑 로그인 모듈을 사용하는 경우 자원 팩토리 참조의 맵핑 특성에서 이 특성을 수동으로 설정해야 합니다.

사용자 정의 로그인 모듈에서 WSSubject.getRunAsSubject 메소드를 사용하여 현재 실행 중인 스레드의 ID를 나타내는 주제를 검색할 수 있습니다. 현재 실행 중인 스레드의 ID는 RunAs ID라고 합니다. RunAs 주제는 일반적으로 프린시펄 세트에 WSPrincipal 프린시펄을 포함하고 공용 신임 정보 세트에 WSCredential 신임 정보를 포함합니다. 맵핑 모듈에서 작성되는 주제 인스턴스는 프린시펄 세트에 프린시펄 인스턴스를 포함하고 개인 신임 정보 세트에 PasswordCredential 신임 정보 또는 org.ietf.jgss.GSSCredential 인스턴스를 포함합니다.

JCA(Java Connector Architecture) 스펙 버전 1.0에서 정의되는 GenericCredential 인터페이스는 JCA 버전 1.5 스펙에서는 더 이상 사용되지 않습니다.


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



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