Puede utilizar Java™ Authentication and Authorization
Service (JAAS) para la autenticación de base de datos.
Acerca de esta tarea
Puede utilizar una entrada de contexto de inicio de sesión JAAS para especificar un módulo
de inicio de sesión personalizado a utilizar para establecer el nombre de usuario y la contraseña para
autenticarse en una base de datos.
Procedimiento
- Añada las características appSecurity-2.0, jdbc-4.0 y
jca-1.6 en el archivo server.xml. También puede añadir
appSecurity-2.0, jdbc-4.1 y jca-1.7. Por ejemplo:
<featureManager>
<feature>appSecurity-2.0</feature>
<feature>jdbc-4.0</feature>
<feature>jca-1.6</feature>
</featureManager>
- Configure un elemento jaasLoginContextEntry en el archivo
server.xml con el módulo de inicio de sesión a utilizar. Por ejemplo:
<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>
- Configure el atributo jaasLoginContextEntry del elemento
dataSource con el id del elemento jaasLoginContextEntry
configurado en el paso 2.
Por ejemplo:
<dataSource id="ds1" jndiName="jdbc/ds1" jdbcDriverRef="DB2"
jaasLoginContextEntry="myJAASLoginEntry" .../>
- Como alternativa al paso 3, puede configurar un elemento custom-login-configuration
en el archivo ibm-web-bnd.xml de descriptor de despliegue
de la aplicación.
El atributo de nombre debe coincidir con el atributo de id para
jaasLoginContextEntry que se define en el archivo
server.xml. Por ejemplo:
<resource-ref name="jdbc/ds1ref" binding-name="jdbc/ds1">
<custom-login-configuration name="myJAASLoginEntry">
<property name="property1" value="value1"/>
</custom-login-configuration>
</resource-ref>