Puis-je porter le verre JDBCrealm à Jboss?
Question
Mon application fonctionne sur Glassfish 3.1 en utilisant JDBCrealm est son authentification et son autorisation. Je souhaite porter cette application sur JBoss 6. Puis-je créer un JDBCrealm à l'intérieur de JBoss 6 comme dans Glassfish3 que cette carte à une table utilisateur dans ma base de données? Puis-je le faire via admin-console? Dans JBoss, je détermine comment créer une connexion à la base de données (juste en créant une source de données), mais dans Glassfish, j'ai également configuré des sessions Javamail dans Glassfish avec jndi
, mail-host
, transport protocol
..., puis-je également porter cela sur JBoss?
La solution
Réponses sur vos questions:
Puis-je créer un JDBCrealm à l'intérieur de JBoss 6 comme dans Glassfish3 que cette carte à une table utilisateur dans ma base de données?
Si je comprends correctement, vous utilisez une base de données pour authentifier les utilisateurs?
Vous pouvez définir quelque chose comme ça dans JBoss. Le moyen le plus simple est d'ajouter une définition appropriée du domaine de sécurité au conf/login-config.xml
dossier.
Cela peut ressembler à ça:
<application-policy name="database-domain">
<authentication>
<login-module code="org.jboss.security.auth.spi.DatabaseServerLoginModule" flag="required">
<module-option name="dsJndiName">java:/yourDataSource</module-option>
<module-option name="principalsQuery">select password from users where userid = ?</module-option>
<module-option name="rolesQuery">select role, 'Roles' from roles where userid = ?</module-option>
</login-module>
</authentication>
</application-policy>
Vous devez également créer une source de données appropriée et mettre la bibliothèque de bases de données lib
annuaire.
Puis-je le faire via admin-console?
Je ne sais pas s'il est possible d'apporter ces modifications à l'aide de la console Web.
Dans JBOSS, je détermine comment créer une connexion à la base de données (juste en créant une source de données), mais dans Glassfish, j'ai également mis en place des sessions Javamail dans Glassfish avec JNDI, Host Mail, Transport Protocol ..., puis-je porter ce bien?
JBoss utilise la base de données par défaut pour stocker certaines informations. Si vous voulez changer, la manière simples consiste à définir une nouvelle source de données avec le DefaultDS
Nom et supprimez le deploy/hsqldb-ds.xml
dossier.
Dans JBOSS 6, ils changent le fournisseur JMS et utilisent également sa propre base de données pour Stre quelques informations, je ne sais pas si et comment la changer.