È possibile utilizzare JAAS (Java™ Authentication and Authorization Service) per l'autenticazione del database.
Informazioni su questa attività
È possibile utilizzare una voce di contesto di login JAAS per specificare un modulo di login personalizzato da utilizzare per l'impostazione del nome utente e della password per l'autenticazione su un database.
Procedura
- Aggiungere le funzioni
appSecurity-2.0
, jdbc-4.0
e jca-1.6
nel file server.xml . È anche possibile aggiungere appSecurity-2.0
, jdbc-4.1
e jca-1.7
. Ad esempio:
<featureManager>
<feature>appSecurity-2.0</feature>
<feature>jdbc-4.0</feature>
<feature>jca-1.6</feature>
</featureManager>
Feature stabilizzata: la feature jca-1.6
è stabilizzata. È possibile continuare a utilizzare la funzione jca-1.6
. Tuttavia, considerare l'utilizzo di una funzione JCA successiva.
- Configurare un elemento
jaasLoginContextEntry
nel file server.xml con il modulo login da utilizzare. Ad esempio:
<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>
- Configurare l'attributo
dataSource
element jaasLoginContextEntryRef
con l'ID dell'elemento jaasLoginContextEntry
configurato nel passo, come mostrato nel seguente esempio.
<dataSource id="ds1" jndiName="jdbc/ds1" jdbcDriverRef="DB2"
jaasLoginContextEntryRef="myJAASLoginEntry" .../>
Tuttavia, questo valore jaasLoginContextEntryRef
viene utilizzato dalla configurazione solo se l'origine dati è identificata nel file EAR application.xml o nel file WAR web.xml utilizzando un riferimento JNDI res-ref
che specifichi un valore res-auth
di Container
. Altrimenti, il valore jaasLoginContextEntryRef
viene ignorato.
Il seguente esempio illustra la configurazione
application.xml o
web.xml richiesta quando si specifica un modulo di login personalizzato definendo un valore
jaasLoginContextEntryRef
nel file
sever.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>
- Come alternativa al passaggio 3, è possibile configurare un elemento
custom-login-configuration
nel file del descrittore di distribuzione ibm-web-bnd.xml dell'applicazione. L'attributo del nome deve corrispondere all'attributo id
per jaasLoginContextEntry
definito nel file server.xml . Ad esempio:
<resource-ref name="jdbc/ds1ref" binding-name="jdbc/ds1">
<custom-login-configuration name="myJAASLoginEntry">
<property name="property1" value="value1"/>
</custom-login-configuration>
</resource-ref>