J'ai un problème avec jaas et jboss. J'essaie d'authentifier les utilisateurs par rapport à une base de données en utilisant une méthode basée sur un formulaire mais jboss me dit que le mot de passe est faux (non, le mot de passe est correct), mais si j'utilise UsersRolesLoginModule avec des fichiers de propriétés, pas de problème.Problème avec JAAS et DatabaseServerLoginModule
Dans la base de données pg en mode débogage la requête qui fait JBoss semble ok, Le mot de passe dans la base de données sont pour l'instant dans le texte brut (sans hachage)
Voici mon fichier login-config.xml
<application-policy name = "AP">
<authentication>
<login-module code = "org.jboss.security.auth.spi.DatabaseServerLoginModule" flag = "required">
<module-option name = "dsJndiName">java:/authDS</module-option>
<module-option name = "principalsQuery">SELECT password FROM users WHERE login = ?</module-option>
<module-option name = "rolesQuery">SELECT roles.name AS roles FROM roles WHERE roles.id IN
(SELECT users_roles.roleid FROM users_roles WHERE users_roles.userid IN
(SELECT users.id FROM users WHERE login = ?))</module-option>
<!-- <module-option name="hashAlgorithm">MD5</module-option> -->
<!-- <module-option name="hashEncoding">base64</module-option> -->
<!-- <module-option name="hashEncoding">HEX</module-option> -->
<!-- <module-option name="hashAlgorithm">SHA-1</module-option> -->
<!-- <module-option name="digestCallback">com.myclass.MyDigestCallback</module-option>-->
</login-module>
</authentication>
</application-policy>
fichier web.xml:
<security-constraint>
<web-resource-collection>
<web-resource-name>Restrict Access</web-resource-name>
<description></description>
<url-pattern>/admin/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>AdminRole</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<realm-name>ASM AD Authentication</realm-name>
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/login.jsp</form-error-page>
</form-login-config>
</login-config>
<security-role>
<role-name>AdminRole</role-name>
</security-role>
jboss-web.xml
<jboss-web>
<security-domain>java:/jaas/Admin</security-domain>
</jboss-web>
login.jsp
<form method="post" action="j_security_check">
<fieldset>
<legend>Login</legend>
<p>
<label for="form-username">Username</label>
<input type="text" name="j_username" id="form-username" />
</p>
<p>
<label for="form-password">Password</label>
<input type="password" name="j_password" id="form-password" />
</p>
<p>
<input type="submit" value="GO" />
</p>
</fieldset>
</form>
Avez-vous trouvé cela résolu? si oui serait intéressé à voir votre résolution :) – simgineer