WS-페더레이션용 메시지 소비자 플러그인으로 어설션 처리 사용자 지정
목차
casso12kr
목차
2
casso12kr
메시지 소비자 플러그인은 메시지 소비자 플러그인을 구현하는 Java 프로그램입니다. 이 플러그인을 통해 어설션 거부, 상태 코드 반환 등의 어설션 처리를 위한 사용자 고유의 비즈니스 논리를 구현할 수 있습니다. 이 추가 처리는 어설션의 표준 처리와 함께 작동합니다.
인증이 진행되는 동안
Single Sign-On
은 먼저 사용자를 로컬 사용자 저장소에 매핑하여 어설션을 처리하려고 합니다. 사용자를 찾을 수 없는 경우 Single Sign-On
은 메시지 소비자 플러그인의 postDisambiguateUser 메서드를 호출합니다.플러그인이 사용자를 찾은 경우
Single Sign-On
은 인증의 두 번째 단계로 진행합니다. 플러그인이 사용자를 로컬 사용자 저장소에 매핑할 수 없는 경우에는 UserNotFound 오류가 반환됩니다. 플러그인이 선택적으로 리디렉션 URL 기능을 사용할 수 있습니다. 소비자 플러그인이 없는 경우 리디렉션 URL은 SAML 인증 체계가 생성하는 오류를 기반으로 합니다.두 번째 인증 단계에서
Single Sign-On
은 플러그인이 구성된 경우 메시지 소비자 플러그인의 postAuthenticateUser 메서드를 호출합니다. 메서드가 성공하는 경우 Single Sign-On
은 사용자를 요청된 리소스로 리디렉션합니다. 메서드가 실패하는 경우 사용자를 실패 페이지에 보내도록 플러그인을 구성할 수 있습니다. 실패 페이지는 인증 체계 구성으로 지정할 수 있는 리디렉션 URL 중 하나일 수 있습니다.플러그인을 구성하려면
- 아직 설치하지 않은 경우Single Sign-OnSDK를 설치합니다.
- Single Sign-OnSDK의 일부인 MessageconsumerPlugin.java 인터페이스를 구현합니다.
- 메시지 소비자 플러그인 구현 클래스를 배포합니다.
- 관리 UI에서 메시지 소비자 플러그인이 사용되도록 설정합니다.
MessageConsumerPlugin 인터페이스 구현
casso12kr
MessageConsumerPlugin.java 인터페이스를 구현하여 사용자 지정 메시지 소비자 플러그인을 생성하십시오. 다음 절차에는 구현 클래스에 대한 최소 요구 사항이 나열되어 있습니다.
다음 단계를 수행하십시오.
- 매개 변수가 포함되지 않은 공개 기본 생성자 메서드를 제공합니다.
- 상태 비저장 구현이 되도록 코드를 제공합니다. 여러 스레드가 단일 플러그인 클래스를 사용할 수 있어야 합니다.
- 인터페이스에서 요구 사항을 충족할 메서드를 구현합니다.MessageConsumerPlugin에는 다음 네 가지 메서드가 포함됩니다.
- init()플러그인에 필요한 초기화 절차를 모두 수행합니다.Single Sign-On은 플러그인이 로드될 때 각 플러그인 인스턴스에 대해 한 번씩 이 메서드를 호출합니다.
- release()플러그인에 필요한 런다운 절차를 모두 수행합니다.Single Sign-On은 이 종료될 때 각 플러그인 인스턴스에 대해 한 번씩Single Sign-On이 메서드를 호출합니다.
- postDisambiguateUser()인증 체계가 사용자 명확성 처리를 수행할 수 없을 때 해당 처리를 제공합니다. 또는 이 메서드가 새 페더레이션 사용자에 대한 데이터를 사용자 저장소에 추가할 수 있습니다. 이 메서드는 암호 해독된 어설션을 수신합니다. 암호 해독된 어설션은 플러그인에 전달된 속성 맵의 "_DecryptedAssertion" 키 아래에 추가됩니다.
- postAuthenticateUser()정책 서버 처리 성공 여부와 관계없이 최종 어설션 처리 결과를 확인하기 위한 추가 코드를 제공합니다.
Single Sign-On
은 다음과 같은 메시지 소비자 플러그인 클래스 샘플을 제공합니다.installation_home
\sdk\samples\messageconsumerplugin의 MessageConsumerPluginSample.javai
nstallation_home
\sdk\samples\authextensionsaml20의 MessageConsumerSAML20.java메시지 소비자 플러그인 배포
casso12kr
MessageConsumerPlugin 인터페이스에 대한 구현 클래스를 코드화했으면 해당 구현 클래스를 컴파일하고
Single Sign-On
이 실행 파일을 찾을 수 있는지 확인하십시오.메시지 소비자 플러그인을 배포하려면
- MessageConsumerPlugin Java 파일을 컴파일합니다. 이 파일을 컴파일하려면 정책 서버와 함께 설치되는 다음 종속 라이브러리가 필요합니다.installation_home\siteminder\bin\jars\SmJavaApi.jarSmJavaApi.jar의 동일한 복사본이Single Sign-OnSDK와 함께 설치됩니다. 이 파일은installation_home\sdk\java\SmJavaApi.jar 디렉터리에 있습니다.개발 시 두 파일 중 아무 파일이나 사용할 수 있습니다.
- 폴더나 jar 파일에서 플러그인 클래스를 사용할 수 있는 경우 JVMOptions.txt 파일에서 -Djava.class.path 값을 수정합니다. 이 단계를 수행하면 수정된 클래스 경로를 사용하여 플러그인 클래스를 로드할 수 있습니다.installation_home\siteminder\config 디렉터리에서 JVMOptions.txt 파일을 찾습니다.참고:기존 xerces.jar, xalan.jar 또는 SmJavaApi.jar의 클래스 경로를 수정하지 마십시오.
- 정책 서버를 다시 시작하여 최신 버전의 MessageConsumerPlugin을 선택합니다. 이 단계는 플러그인 Java 파일이 다시 컴파일될 때마다 필요합니다.
- 플러그인이 사용되도록 설정합니다.
WS-페더레이션에 대해 메시지 소비자 플러그인이 사용되도록 설정
메시지 소비자 플러그인을 작성하고 컴파일한 후 관리 UI에서 설정을 구성하여 플러그인이 사용되도록 설정하십시오. UI 설정은
Single Sign-On
에게 플러그인을 찾을 수 있는 위치를 알려 줍니다.
플러그인을 배포할 때까지 플러그인 설정을 구성하지 마십시오.
메시지 소비자 플러그인이 사용되도록 설정하려면
- 관리 UI에 로그온합니다.
- 적절한 WS-페더레이션 체계에 대한 "인증 체계" 대화 상자로 이동합니다. "일반" 설정에서 "고급" 섹션으로 이동하고 다음 필드에 데이터를 입력합니다.
- 전체 Java 클래스 이름플러그인에 대한 Java 클래스 이름을 지정합니다. 예를 들어Single Sign-OnSDK에 포함된 샘플 클래스는 다음과 같습니다.com.ca.messageconsumerplugin.MessageConsumerPluginSample
- 매개 변수"전체 Java 클래스 이름" 필드에서 지정한 플러그인에 전달되는 매개 변수 문자열을 지정합니다.관리 UI에서 플러그인을 구성하는 대신 정책 관리 API(C 또는 Perl)를 사용하여 IdpPluginClass와 IdpPluginParameters를 설정할 수 있습니다.
- 정책 서버를 다시 시작합니다.