데이터베이스 인증을 위한 JAAS 구성
데이터베이스 인증에JAAS(Java™ Authentication and Authorization Service) 를 사용할 수 있습니다.
이 태스크에 대한 정보
JAAS 로그인 컨텍스트 항목을 사용하여 데이터베이스에 인증하기 위해 사용자 이름 및 비밀번호를 설정하는 데 사용할 사용자 정의 로그인 모듈을 지정할 수 있습니다.
프로시저
- server.xml 파일에
appSecurity-2.0
,jdbc-4.0
및jca-1.6
기능을 추가하십시오.appSecurity-2.0
,jdbc-4.1
및jca-1.7
도 추가할 수 있습니다. 예를 들면 다음과 같습니다.<featureManager> <feature>appSecurity-2.0</feature> <feature>jdbc-4.0</feature> <feature>jca-1.6</feature> </featureManager>
안정화된 기능:jca-1.6
기능이 안정화되었습니다.jca-1.6
기능을 계속 사용할 수 있습니다. 하지만 후속 JCA 기능을 사용하는 것을 고려해 보십시오. - 사용할 로그인 모듈을 사용하여 server.xml 파일에서
jaasLoginContextEntry
요소를 구성하십시오. 예를 들면 다음과 같습니다.<jaasLoginContextEntry id="myJAASLoginEntry" name="myJAASLoginEntry" loginModuleRef="myLoginModule" /> <jaasLoginModule id="myLoginModule" className="my.package.MyLoginModule" controlFlag="REQUIRED" libraryRef="customLoginLib"/> <library id="customLoginLib"> <fileset dir="${server.config.dir}" includes="MyLoginModule.jar"/> </library>
- 다음 예제에 표시된 대로 단계에서 구성한
jaasLoginContextEntry
요소의 ID로dataSource
elementjaasLoginContextEntryRef
속성을 구성하십시오.<dataSource id="ds1" jndiName="jdbc/ds1" jdbcDriverRef="DB2" jaasLoginContextEntryRef="myJAASLoginEntry" .../>
그러나 이
jaasLoginContextEntryRef
값은Container
의res-auth
값을 지정하는res-ref
JNDI 참조를 사용하여 EAR application.xml 파일 또는 WAR web.xml 파일에서 데이터 소스가 식별되는 경우에만 구성에서 사용됩니다. 그렇지 않으면jaasLoginContextEntryRef
값이 무시됩니다.다음 예제는sever.xml
파일에서jaasLoginContextEntryRef
값을 정의하여 사용자 정의 로그인 모듈을 지정할 때 필요한 application.xml 또는 web.xml 구성을 보여줍니다.<resource-ref> <res-ref-name>java:app/jdbc/ds1</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>
- 3단계에 대한 대안으로 애플리케이션의 배치 디스크립터 ibm-web-bnd.xml 파일에서
custom-login-configuration
요소를 구성할 수 있습니다. 이름 속성은 server.xml 파일에 정의된jaasLoginContextEntry
의id
속성과 일치해야 합니다. 예를 들면 다음과 같습니다.<resource-ref name="jdbc/ds1ref" binding-name="jdbc/ds1"> <custom-login-configuration name="myJAASLoginEntry"> <property name="property1" value="value1"/> </custom-login-configuration> </resource-ref>