JAAS를 사용하여 ID 어설션을 수행하도록 애플리케이션 로그인 사용자 정의

JAAS(Java™ Authentication and Authorization Service) 로그인 프레임워크를 사용하면 Liberty 프로파일에서 ID 어설션에 대한 로그인을 수행하는 데 사용할 수 있는 JAAS 로그인 구성을 작성할 수 있습니다.

이 태스크 정보

신뢰 유효성 검증으로 ID 어설션을 구성하여, 애플리케이션은 JAAS 로그인 구성을 사용하여 프로그래밍 방식 ID 어설션을 수행할 수 있습니다. 세부사항은 IdentityAssertionLoginModule의 내용을 참조하십시오.

분산 플랫폼용문제 방지: WASdev.net 웹 사이트에는 Liberty 프로파일의 애플리케이션을 위한 보안을 구성할 때 참조할 수 있는 여러 보안 구성 예제가 있습니다. 개발자 도구를 사용하여 Liberty 프로파일에 JAAS 구성의 내용을 참조하십시오.

프로시저

  1. 신뢰 유효성 검증을 사용자 구현 플러그인 위치에 위임하십시오.
    신뢰 유효성 검증은 사용자 정의 로그인 모듈에 의해 수행됩니다. 이 사용자 정의 로그인 모듈은 필요한 신뢰 유효성 검증을 수행한 다음, 공유 상태의 신뢰 및 ID 정보를 ID 어설션 로그인 모듈에 전달하도록 설정합니다. 다음과 같은 공유 상태 키에서는 맵이 필수입니다.
    com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.state
    상태가 누락된 경우 WSLoginFailedException 문제점이 IdentityAssertionLoginModule에서 보고됩니다.
    공유 상태 키의 맵은 다음과 같은 키 이름을 갖는 신뢰 키를 포함해야 합니다.
    com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.trust
    이 키가 true로 설정된 경우 신뢰가 설정됩니다. 이 키가 false로 설정된 경우 신뢰가 사용되도록 설정되지 않으며 IdentityAssertionLoginModule 클래스가 WSLoginFailedException 문제점을 작성합니다.

    또한 공유 상태 키의 맵은 다음 자원 중 하나를 설정해야 합니다.

    • ID 키. java.security.Principal은 다음 키에서 설정할 수 있습니다.
      com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.principal
    • java.security.cert.X509Certificate[]. 이 인증서는 다음과 같은 키에서 설정할 수 있습니다.
       com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.certficates
    프린시펄과 인증서가 모두 제공된 경우 프린시펄이 사용되며 경고가 보고됩니다.
  2. 애플리케이션 로그인을 위한 JAAS 구성을 작성하십시오. JAAS 구성에는 사용자가 구현한 신뢰 유효성 검증 사용자 정의 로그인 모듈과 IdentityAssertionLoginModule이 포함됩니다. 애플리케이션 로그인 구성을 구성하려면, 다음 코드를 server.xml 파일에 추가하십시오.
    <jaasLoginContextEntry id="CustomIdentityAssertion" name="CustomIdentityAssertion" loginModuleRef="customIdentityAssertion,identityAssertion" />
    	<jaasLoginModule id="customIdentityAssertion" className="com.ibm.ws.security.authentication.IdentityAssertionLoginModule" controlFlag="REQUIRED" libraryRef="customLoginLib"/>
    	<library id="customLoginLib">
        	<fileset dir="${server.config.dir}" includes="IdentityAssertionLoginModule.jar"/>      
    		</library>
    이 JAAS 구성은 ID 어설션을 수행하기 위해 애플리케이션에서 사용됩니다.
  3. 프로그래밍 가능한 ID 어설션을 수행하십시오. 프로그램은 이제 JAAS 로그인 구성을 사용하여 프로그래밍 방식 ID 어설션을 수행할 수 있습니다. 애플리케이션 프로그램은 단계 2에서 작성된 JAAS 구성에 대해 로그인 컨텍스트를 작성한 다음 어설션하는 ID로 해당 로그인 컨텍스트에 로그인할 수 있습니다. 로그인이 성공하면 해당 ID를 현재 실행 중인 프로세스에서 설정할 수 있습니다. 다음 예제는 이 프로세스를 보여줍니다.
    NameCallback handler = new NameCallback(new MyPrincipal("Joe"));
    LoginContext lc = new LoginContext("customIdentityAssertion", handler);
    lc.login();  //assume successful
    Subject s = lc.getSubject();
    WSSubject.setRunAsSubject(s);
    // From here on , the runas identity is "Joe"
    참고: 예제에서 MyPrincipal 클래스는 java.security.Principal 인터페이스의 구현입니다.

결과

JAAS 로그인 프레임워크 및 두 개의 사용자 구현 로그인 모듈을 사용하면 ID 어설션에 대한 로그인을 수행하는 데 사용될 수 있는 JAAS 로그인 구성을 작성할 수 있습니다.

주제의 유형을 표시하는 아이콘 태스크 주제

Information Center 이용 약관 | 피드백


시간소인 아이콘 마지막 업데이트 날짜: Wednesday, 2 September 2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_dev_custom_idassertion
파일 이름: twlp_dev_custom_idassertion.html