Bonjour à tous et à toutes.
Je travaille actuellement sur un projet d'authentification formulaire JSF
pour donnner accès aux utilisateurs inscrits en base un accès à un espace membre restrein.
Environnements tecchniques : Java EE 6, JSF, MySQL, JPA EclipseLink, Glasfish, Windows

Voici en gros mon erreur sur formulaire après la gestion de l'exception :

Avertissement: JSF1063 : AVERTISSEMENT ! Définition d’une valeur d’attribut non-sérialisable dans HttpSession (clé : connexionBean, classe de la valeur : com.sdmnj.beans.ConnexionBean).
Avertissement: WEB9102: Web Login Failed: com.sun.enterprise.security.auth.login.common.LoginException: Login failed: Failed file login for tartanpion@tartanpion.ta
Grave: javax.servlet.ServletException: Login failed.

1- Vue connexion.xhtml

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head>
<title>Formulaire - Authentification</title>
<h:outputStylesheet library="default" name="css/form.css" />
</h:head>
<h:body>
<div>
<h:form id="auth">
<fieldset>
<legend>Connexion</legend>

<p>Connexion via ce formulaire</p>

<h:outputLabel for="email">Login<span class="requis">*</span></h:outputLabel>
<h:inputText id="email" value="#{connexionBean.utilisateur.email}"></h:inputText>
<h:message id="emailMessage" for="email" errorClass="erreur" />
<br />

<h:outputLabel for="motdepasse">Mot de passe<span class="requis">*</span></h:outputLabel>
<h:inputSecret id="motdepasse" value="#{connexionBean.utilisateur.motDePasse}"></h:inputSecret>
<h:message id="motDePasseMessage" for="motdepasse" errorClass="erreur" />
<br />

<h:messages globalOnly="true" infoClass="info" />

<h:commandButton value="Connexion" action="#{connexionBean.seConnecter}" styleClass="sansLabel" />
</fieldset>
</h:form>
</div>
</h:body>
</html>

2- Fichier ConnexionBean.java

package com.sdmnj.beans;

import com.sdmnj.dao.UtilisateurDao;
import com.sdmnj.entities.Utilisateur;
import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;

@ManagedBean
@SessionScoped
public class ConnexionBean {

private Utilisateur utilisateur;

@EJB
private UtilisateurDao utilisateurDao;

public ConnexionBean(){
utilisateur = new Utilisateur();
}

public Utilisateur getUtilisateur() {
return utilisateur;
}

public String seConnecter() {

FacesContext context = FacesContext.getCurrentInstance();
HttpServletRequest request = (HttpServletRequest) context.getExternalContext().getRequest();

try {
request.login( utilisateur.getEmail(), utilisateur.getMotDePasse() );
}catch( ServletException e ) {
e.printStackTrace();
context.addMessage( null, new FacesMessage("Login failed.") );
return "failure";
}
return "succes";
}

public String seDeconnectetr() {

FacesContext context = FacesContext.getCurrentInstance();
HttpServletRequest request = (HttpServletRequest) context.getExternalContext().getRequest();

try {
request.logout();
}catch( ServletException e ) {
e.printStackTrace();
context.addMessage( null, new FacesMessage("logout failed.") );
return "failure";
}
return "succes";
}
}

3- Fichier faces-config.xml

<?xml version='1.0' encoding='UTF-8'?>
<faces-config version="2.2"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlnssi="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">

<managed-bean>
<managed-bean-name>connexionBean</managed-bean-name>
<managed-bean-class>com.sdmnj.beans.ConnexionBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>

<navigation-rule>
<display-name>connexion</display-name>
<from-view-id>/connexion.xhtml</from-view-id>
<navigation-case>
<from-outcome>succes</from-outcome>
<to-view-id>/restrein/main_page.xhtml</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>failure</from-outcome>
<to-view-id>/connexion.xhtml</to-view-id>
</navigation-case>
</navigation-rule>

</faces-config>


4- Fichier DAO : UtilisateurDao

package com.sdmnj.dao;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

import com.sdmnj.entities.Utilisateur;

@Stateless
public class UtilisateurDao {
private static final String JPQL_SELECT_PAR_EMAIL = "SELECT u FROM Utilisateur u WHERE u.email=:email";
private static final String PARAM_EMAIL = "email";

@PersistenceContext( unitName = "bdd_sdmnj_PU" )
private EntityManager em;

public void creer( Utilisateur utilisateur ) throws DAOException {
try {
em.persist( utilisateur );
} catch ( Exception e ) {
throw new DAOException( e );
}
}

public Utilisateur trouver( String email ) throws DAOException {
Utilisateur utilisateur = null;

Query requete = em.createQuery( JPQL_SELECT_PAR_EMAIL );

requete.setParameter( PARAM_EMAIL, email );
try {

utilisateur = (Utilisateur) requete.getSingleResult();
} catch ( NoResultException e ) {
return null;
} catch ( Exception e ) {
throw new DAOException( e );
}
return utilisateur;
}
}


5- L'entité Utilisateur comporte les champs suivants :
{id, email, motDePasse, nom, date_inscription}

Les tests d'inscriptions en bdd fonctionnent mais mon pb est l'authentification
et je pense tres probablement à la méthode seConnecter.

Je suis patient de vous lire et de vos aides.