Bonjour,
Je tente de mettre en œuvre l'authentification via GlassFish jdbcRealm (FORM).
J'ai suivi des tutoriels et j'ai pu le faire mais à travers "file". Malheureusement je n'arrive pas à m'authentifier à travers ma base de données SQL Server, ça me redirige toujours vers la page d'erreur (l'accès à la base de données fonctionne bien).
Voici ma configuration :
J'utilise 3 tables: utilisateur (login ,mot de passe...)
groupe(id,groupname, username)
role(groupid, groupname)
web.xml
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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
| <?xml version="1.0" encoding="UTF-8"?>
<display-name>PFE</display-name>
<welcome-file-list>
<welcome-file>Login.xhtml</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<context-param>
<description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>client</param-value>
</context-param>
<context-param>
<param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
<param-value>resources.application</param-value>
</context-param>
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<listener>
<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
</listener>
<security-role>
<description>can access to admin page</description>
<role-name>admin</role-name>
</security-role>
<security-role>
<description>les techniciens</description>
<role-name>technicien</role-name>
</security-role>
<security-constraint>
<display-name>AccessConstraint</display-name>
<web-resource-collection>
<web-resource-name>Protected Admin Area</web-resource-name>
<description></description>
<url-pattern>/faces/GestionUtilisateurs/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<description/>
<role-name>admin</role-name>
</auth-constraint>
<!-- <user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>-->
</security-constraint>
<security-constraint>
<display-name>technicien Access</display-name>
<web-resource-collection>
<web-resource-name>technicien Protected User Area</web-resource-name>
<description/>
<url-pattern>/faces/Infrastructure/*</url-pattern>
</web-resource-collection>
</security-constraint>
<error-page>
<error-code>403</error-code>
<location>/faces/home/error.xhtml</location>
</error-page>
<login-config>
<auth-method>FORM</auth-method>
<realm-name>authentifrealm</realm-name>
<form-login-config>
<form-login-page>/Authentification/Login.xhtml</form-login-page>
<form-error-page>/Authentification/LoginError.xhtml</form-error-page>
</form-login-config>
</login-config>
</web-app> |
glassfish-web.xml
1 2 3 4 5 6 7 8
| <security-role-mapping>
<role-name>admin</role-name>
<group-name>admin</group-name>
</security-role-mapping>
<security-role-mapping>
<role-name>technicien</role-name>
<group-name>technicien</group-name>
</security-role-mapping> |
Quelqu'un saurait-il m'indiquer comment résoudre ce problème ?
Dois-je sauvegarder le mode passe crypté ou pas ? J'ai essayé les deux mais je ne sais pas si j'ai fais ça correctement.
Merci d'avance pour votre aide.
Partager