SAML 2.0 메시지 소비자 플러그 인으로 어설션 처리 사용자 지정
목차
casso126kkr
목차
2
casso126kkr
메시지 소비자 플러그 인은 메시지 소비자 플러그 인을 구현하는 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 인터페이스 구현
casso126kkr
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메시지 소비자 플러그 인 배포
casso126kkr
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 파일이 다시 컴파일될 때마다 필요합니다.
- 플러그 인이 사용되도록 설정합니다.
SAML 2.0에 대해 메시지 소비자 플러그 인이 사용되도록 설정
메시지 소비자 플러그 인을 작성하고 컴파일한 후 관리 UI에서 설정을 구성하여 플러그 인이 사용되도록 설정하십시오. UI 설정은
Single Sign-On
에게 플러그 인을 찾을 수 있는 위치를 알려 줍니다.
플러그 인을 배포할 때까지 플러그 인 설정을 구성하지 마십시오.
메시지 소비자 플러그 인이 사용되도록 설정하려면
- 관리 UI에 로그온합니다.
- "SAML 2.0 인증 체계" 대화 상자로 이동합니다.
- "고급"을 클릭합니다.
- "메시지 소비자 플러그 인" 섹션의 다음 필드에 데이터를 입력합니다.
- 전체 Java 클래스 이름플러그 인에 대한 Java 클래스 이름을 지정합니다. 예를 들어Single Sign-OnSDK에 포함된 샘플 클래스는 다음과 같습니다.com.ca.messageconsumerplugin.MessageConsumerPluginSample
- 매개 변수"전체 Java 클래스 이름" 필드에서 지정한 플러그 인에 전달되는 매개 변수 문자열을 지정합니다.
- 정책 서버를 다시 시작합니다.