2011-05-25 5 views
0

bonjour j'essaie d'effectuer une authentification de formulaire basé sur jboss: ce sont mes fichiers de configuration. login-config.xml:JAAS web-security sur jboss 5

<application-policy name="MyPolicy"> 
<authentication> 
    <login-module flag="required" 
     code="org.jboss.security.auth.spi.DatabaseServerLoginModule"> 
     <module-option name="dsJndiName">java:/espritDS</module-option> 
     <module-option name="principalsQuery">SELECT password FROM users WHERE 
      username=?</module-option> 
     <module-option name="rolesQuery">SELECT groupname FROM groups WHERE 
      username=?</module-option> 
    </login-module> 
</authentication> 

web.xml:

<!-- Security --> 
<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>secret</web-resource-name> 
     <url-pattern>/faces/secret/*</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
     <role-name>admin</role-name> 
    </auth-constraint> 
</security-constraint> 
<login-config> 
    <auth-method>FORM</auth-method> 
    <form-login-config> 
     <form-login-page>/faces/login.jsp</form-login-page> 
     <form-error-page>/faces/loginError.jsp</form-error-page> 
    </form-login-config> 
</login-config> 

<security-role> 
    <role-name>admin</role-name> 
</security-role> 

et jboss-web.xml:

<jboss-web> 
<!-- A security domain that restricts access --> 
<security-domain>java:/jaas/MyPolicy</security-domain> 
</jboss-web> 

je pensais que je ne ai pas besoin pour configurer les utilisateurs et les fichiers de rôles depuis que j'ai une base de données où j'ai inséré des utilisateurs et des rôles, mais j'ai cette exception et je n'ai pas gérer pour y faire face: 11: 57: 26587 ERREUR [UsersRolesLoginModule] Impossible de charger les utilisateurs/mots de passe/fichiers rôle java.io.IOException: Aucun fichier de propriétés: users.properties ou paramètres par défaut: defaultUsers.properties trouvé

Répondre

2

Vous avez une erreur dans votre rolesQuery. Cela devrait ressembler à cela:

<module-option name="rolesQuery">SELECT groupname, 'Roles' FROM groups WHERE 
     username=?</module-option> 

Je ne vois pas d'autres erreurs.

Vous pouvez en savoir plus sur les modules DatabaseServerLoginModule ici: http://community.jboss.org/wiki/DatabaseServerLoginModule

+0

Stelmach Thanx, qui était une erreur et j'ai aussi oublié de redémarrer jboss. maintenant l'exception a disparu. Mais je ne suis pas redirigé vers la page de connexion lorsque je demande la page secrète. Se pourrait-il que j'ai d'autres erreurs dans la requête SQL? – boskonovic

+0

@boskonovic De rien. Je n'ai aucune idée de pourquoi ça ne marche pas. Si vous utilisez SSL, vérifiez peut-être s'il est configuré. Je pense qu'il peut être préférable de poser une autre question avec une description appropriée. –

+0

Stelmach ça marche bien maintenant grâce à vous. En fait, il n'y avait pas d'autres erreurs. J'ai même réussi à faire fonctionner ssl mais je n'ai pas besoin de SSL pour toute l'application. Aucune suggestion? Je suppose que je dois demander un autre qusetion comme tu l'as dit. – boskonovic