J'utilise Jbos AS 5 et le DatabaseServerLoginModule pour l'autorisation. J'ai ma politique d'application définie comme (par exemple, et non le code réel):Comment obtenir les rôles utilisateur dans Servlet?
<application-policy name = "jbossmq">
<authentication>
<login-module code = "org.jboss.security.auth.spi.DatabaseServerLoginModule"
flag = "required">
<module-option name = "unauthenticatedIdentity">guest</module-option>
<module-option name = "dsJndiName">java:/MyDatabaseDS</module-option>
<module-option name = "principalsQuery">SELECT PASSWD FROM JMS_USERS WHERE USERID=?</module-option>
<module-option name = "rolesQuery">SELECT ROLEID, 'Roles' FROM JMS_ROLES WHERE USERID=?</module-option>
</login-module>
</authentication>
</application-policy>
Une fois que l'utilisateur est autorisé avec succès, comment puis-je récupérer les rôles d'utilisateur de mon servlet? Dans l'extrait de code ci-dessus, les rôles sont sélectionnés dans la base de données, mais où sont-ils stockés? En session !? Si oui, sous quelles variables de session?
De même, est-il possible d'utiliser conjointement l'authentification Ldap et l'autorisation de base de données dans JBoss?