Bonjour,
J'essaie de gérer l'authentification dans mon appli JEE (base de donnée Oracle 10 et Struts 1.3.5)
Pour cela j'ai donc une jsp nommée: login.jsp
J'ai ajouté les security constraints dans mon web.xml:
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 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>HIM Client Login</title> </head> <body> <form method="post" action="j_security_check"> Userid: <input type="text" name="j_username"> Password: <input type="password" name="j_password"> <input type="submit" value="Login"> </form> </body> </html>
J'ai ajouté un fichier jboss-web.xml dans mon dossier WEB-INF:
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
38
39
40
41 ..... <security-constraint> <display-name>Authentification RITA</display-name> <!-- Liste des pages protégées --> <web-resource-collection> <web-resource-name>Page de recherche des organisations</web-resource-name> <url-pattern>/jsp/*</url-pattern> <http-method>GET</http-method> <http-method>POST</http-method> </web-resource-collection> <!-- Rôles des utilisateurs ayant le droit d'y accéder --> <auth-constraint> <role-name>admin</role-name> </auth-constraint> <user-data-constraint> <transport-guarantee>NONE</transport-guarantee> </user-data-constraint> </security-constraint> <login-config> <auth-method>FORM</auth-method> <realm-name>Default</realm-name> <form-login-config> <form-login-page>/login.jsp</form-login-page> <form-error-page>/login_error.html</form-error-page> </form-login-config> </login-config> <!-- Rôles utilisés dans l'application --> <security-role> <description>Administrateur</description> <role-name>admin</role-name> </security-role> <security-role> <description>Utilisateur</description> <role-name>user</role-name> </security-role> </web-app> ....
puis j'ai ajouté un Realm a la fin du fichier <Repertoire Jboss>/server/default/conf/login-config.xml :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?xml version="1.0" encoding="UTF-8"?> <jboss-web> <security-domain>java:/jaas/RitaLogin</security-domain> </jboss-web>
Pour info , voici le code de ma DataSource: OracleDS.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 ......... <application-policy name="RitaLogin"> <authentication> <login-module code="org.jboss.security.auth.spi.DatabaseServerLoginModule" flag="required"> <module-option name="dsJndiName">java:/OracleDS</module-option> <module-option name="principalsQuery">select password from users where name=?</module-option> <module-option name="rolesQuery">select rolejjj from roles where NAME=?</module-option> </login-module> </authentication> </application-policy> .........
Lorsque j'essaie d'accéder à une page protégée, l'application m'affiche bien la page de login, le problème est que quelque soit le login/pass tappé, l'appli me redirige vers la page login-error.html (même lorsque le login et le mot de passe sont valides).
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 <?xml version="1.0" encoding="UTF-8" ?> - <datasources> - <local-tx-datasource> <jndi-name>OracleDS</jndi-name> <connection-url>jdbc:oracle:thin:@developpement-thesee.unilog.fr:1521:dthx</connection-url> <driver-class>oracle.jdbc.driver.OracleDriver</driver-class> <user-name>FLEG</user-name> <password>FLEG</password> <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name> - <metadata> <type-mapping>Oracle9i</type-mapping> </metadata> <application-managed-security /> </local-tx-datasource> </datasources>
Lorsque je regarde la console sur eclipse, rien n'est affiché donc je n'ai aucune info.
Lorsque je me connecte sur la base avec TOAD pour suivre en live les requètes de l'appli, je vois que mon serveur Jboss est bien connecté à l'appli mais a chaque fois que j'essaie de me logger, une erreur apparait sur TOAD:
"ORA-02404: specified plan table not found"
Et dans la dernière requête lancée par l'appli je vois:
"SELECT PASSWORD
FROM users
WHERE NAME = :1"
Voilà, j'espère avoir été clair et je vous remercie d'avance pour votre aide
Partager