Ich benutze Jbos AS 5 und das DatabaseServerLoginModule für die Autorisierung. Ich habe meine Anwendungsrichtlinie definiert (nur zum Beispiel, nicht der eigentlichen Code):Wie erhalten Sie die Benutzerrollen in 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>
Sobald der Benutzer erfolgreich autorisiert ist, wie kann ich die Benutzerrollen von meinem Servlet abrufen? Im obigen Code-Snippet werden die Rollen aus der Datenbank ausgewählt, aber wo werden sie gespeichert? In der Sitzung !? Wenn ja, unter welchen Sitzungsvariablen?
Ist es auch möglich, Ldap Authentication und Database Authorization in JBoss zu kombinieren?