Bonjour,
j'essaye de gerer l'authentification avec jsf. J'utilise glassfish et JPA. Lorsque l'application est lancé, ya l'interface de connexion et si les login et mot de passe saisis par l'utilisateur existent bien dans mla base, il est redirigé vers la page d'accueil. Là ya un problème avec mon code je ne sais pas lequel vu que je suis nouvelle en jsf. si vous pouvez me donner un coup de main ça serai bien. voici les codes respectifs de mon bean, de mon fichier faces-config.xml et de ma vue .

loginBean.java
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
42
43
44
45
46
47
48
49
50
51
52
 
package com.sirhbimao.beans;
 
import com.sirhbimao.dao.AgentDao;
import com.sirhbimao.entities.Agent;
import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
 
@SessionScoped
@ManagedBean
public class LoginBean extends AbstractBaseBean{
	private static final long serialVersionUID = -8639967661520563148L;
   private Agent agent;
 
       // Injection de notre EJB (Session Bean Stateless)
    @EJB
    private AgentDao    agentDao;
 
    // Initialisation de l'entité agent
    public LoginBean() {
        agent = new Agent();
    }
//Mise en place d'un getter pour l'agent 
    public Agent getAgent() {
        return agent;
    }
 
    // Méthode d'action appelée lors du clic sur le bouton du formulaire
    // de connexion
    public String Logon() throws Exception{
       Agent ag;
        try{
             ag= agentDao.trouver(agent.getLogin(),agent.getPassword());
             if(ag!=null){
 
             getSession().setAttribute(ACCESS_ALLOWED, true);
			getSession().setAttribute("login", agent.getLogin());
                        FacesMessage message = new FacesMessage( "Connexion réussie!" );
        FacesContext.getCurrentInstance().addMessage( null, message );  
			return SUCCESS;
 
		}
 
        }catch(Exception e){
 
        }
			return INPUT;     
    }
}
faces-config.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
20
21
22
23
24
25
26
27
28
29
30
31
32
 
<faces-config version="2.2"
              xmlns="http://xmlns.jcp.org/xml/ns/javaee"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd">
 
 
	<navigation-rule>
		<from-view-id>*</from-view-id>
		<navigation-case>
			<from-outcome>input</from-outcome>
			<to-view-id>/index.xhtml</to-view-id>
		</navigation-case>
 
		<navigation-case>
			<from-outcome>success</from-outcome>
			<to-view-id>/admin_accueil.xhtml</to-view-id>
		</navigation-case>
	</navigation-rule>
    <navigation-rule>
		<navigation-case>
			<from-action>#{loginBean.logon}</from-action>
			<from-outcome>success</from-outcome>
			<to-view-id>/admin_accueil.xhtml</to-view-id>
		</navigation-case>
		<navigation-case>
			<from-action>#{loginBean.logon}</from-action>
			<from-outcome>input</from-outcome>
			<to-view-id>/index.xhtml</to-view-id>
		</navigation-case>
	</navigation-rule>
</faces-config>
index.xhtml
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
 
<h:form id="formulaire">
                     <fieldset>
            <legend>Authentification</legend>
            <pre>
            <h:outputLabel for="login"> Login: <span class="requis"> *     </span></h:outputLabel>
            <h:inputText id="login"   value="#{agentBean.agent.login}"  size="20" maxlength="60" >
                  <f:ajax event="blur" render="loginMessage" />
          </h:inputText>
         <h:message id="loginMessage" for="login" errorClass="erreur" />
            <br />
 
            <h:outputLabel for="motdepasse"> Mot de passe <span class="requis">*</span></h:outputLabel>
            <h:inputSecret id="motdepasse" value="#{agentBean.agent.password}" size="20" maxlength="20" >
                <f:ajax event="blur" render="motDePasseMessage" />
            </h:inputSecret>
            <h:message id="motDePasseMessage" for="motdepasse" errorClass="erreur" />
            <br />
 
 
             <h:messages globalOnly="true" infoClass="info" />
 
             <h:commandButton value="Connexion" action="#{loginBean.logon}" styleClass="sansLabel" >
 
             </h:commandButton>
	        <br />
                </pre>
                     </fieldset>           
            </h:form>