Bonjour à tous,
Je suis débutant en Java/JSF, j'essaye de développer une application avec Prime Faces. Pour le moment tout marche bien, mais je cherche améliorer ma méthode de login. J'ai une page avec deux champs (identifiant/mdp), un bouton (connexion) et aussi des messages qui s'affichent cas les champs soient "null":
Le collaborateurBean.verifierMdp est une fonction que vérifie le mdp saisie et fait le renvoi vers une autre page (connexionError.xhtml ou welcome.xhtml), selon des régles dans le fichier faces-config:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <h:panelGrid columns="3" styleClass="center"> <h:outputLabel value="Identifiant :" /> <p:inputText id="txtMec" value="#{collaborateurBean.mec}" required="true" /> <p:message for="txtMec" display="icon" /> <h:outputLabel value="Mot de passe :" /> <p:password id="txtMdp" value="#{collaborateurBean.mdp}" required="true" /> <p:message for="txtMdp" display="icon" /> <h:outputLabel value="" /> <h:commandButton action="#{collaborateurBean.verifierMdp}" value="Connexion" styleClass="btnConnexion" /> <h:outputLabel value="" /> </h:panelGrid>
Dans le cas d'un erreur de connexion, la page connexionError.xhtml reste 5s et fait le renvoi vers la page de login, pour que l'utilisateur puisse réessayer:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public String verifierMdp() throws NoSuchAlgorithmException, SQLException{ ServletContext application = getServletContext(); CollaborateurDAO dao = (CollaborateurDAO) application.getAttribute("CollaborateurDAO"); Collaborateur collab= new Collaborateur(mec); String ok = "mdpFalse"; if (dao.verifierMdp(collab, mdp)==true){ ServletContext session = getServletContext(); session.setAttribute("MEC", collab.getMec()); ok = "mdpTrue"; } return ok; }
Je voudrais savoir s'il y a un moyen de faire apparaître une message d'erreur dans le cas d'un mauvais login, sans avoir besoin de faire la redirection vers une autre page. Il pourrait être la message qu'est déjà à côté du champs mdp et qu’apparaît lorsqu'il est null ou même une massage au haut de la page (type <p:messages>)...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <h:head> <meta http-equiv="refresh" content="5;main.xhtml" /> </h:head> <h:body styleClass="fond"> <f:view> <h:form> <h2>Identifiant et/ou Mot de passe erroné(s)</h2> </h:form> </f:view> </h:body>
Est-ce que quelqu'un pourrait m'aider svp?
Je vous remercie d'avance,
Marc
![]()
Partager