Bonjour,
je cherche désespérément une solution à l'intégration de JAAS dans Tomcat. J'ai développé ma propre classe d'authentification (LoginModule), authentification basée sur un schéma de ma base de données (JDBC).
Le test en mode console fonctionne, et j'aimerai à présent intégrer tout cela à tomcat, afin de protéger mes pages jsp et mes servlet.
Problème:
Je ne comprend pas comment le lien est effectué entre Tomcat et mon LoginModule.
J'ai effectué le paramétrage du fichier jaas.config, et l'ai installé dans le répertoire conf de tomcat.
Puis, configuration du fichier context.xml pour ajouter un module Realm
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 GestLicJAAS { RdbmsLoginModule required debug="true" url="jdbc:microsoft:sqlserver://SQL:1433;DatabaseName=test;User=sa;Password=admin" driver="com.microsoft.jdbc.sqlserver.SQLServerDriver" table="login" userField="login" passField="motdepasse" nameField="nom" fornameField="prenom" insertPerm="insertion" deletePerm="suppression" updatePerm="miseajour" selectPerm="visu"; };
Enfin, j'ai ajouté les security constraints dans le fichier web.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <Realm className="org.apache.catalina.realm.JAASRealm" appname="GestLicJAAS" userClassNames="com.actemium.lille.gestlic.security.RDBPrincipal" roleClassNames="com.actemium.lille.gestlic.security.RDBCredential" />
Le déploiement fonctionne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 <security-constraint> <display-name>WebApp Administration</display-name> <web-resource-collection> <web-resource-name>WebApp Admin</web-resource-name> <url-pattern>/*</url-pattern> <http-method>DELETE</http-method> <http-method>GET</http-method> <http-method>POST</http-method> <http-method>PUT</http-method> </web-resource-collection> <auth-constraint> <role-name>administrator</role-name> <role-name>other-role</role-name> </auth-constraint> </security-constraint> <login-config> <auth-method>FORM</auth-method> <realm-name>GestLicJAAS</realm-name> <form-login-config> <form-login-page> /login.jsp </form-login-page> <form-error-page> /error.jsp </form-error-page> </form-login-config> </login-config> <security-role> <role-name>administrator</role-name> </security-role> <security-role> <role-name>other-role</role-name> </security-role>
A la connexions sur la page, j'obtiens le message d'erreur "Impossible de trouver une configuration de connexion".
J'ai cherché au niveau des forum sans grand succés, les tutorats sur JAAS sont nombreux, mais l'intégration dans Tomcat est quelque peu trouble.
Un coup de main serait sympa.
Merci.
Partager