IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

[JSF2.0 ] page de login


Sujet :

JSF Java

  1. #1
    Membre actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 88
    Par défaut [JSF2.0 ] page de login
    Bonjour tout le monde ,

    je me suis inspiré de la page login crée par défaut sous netbeans (JSF 2.0, Jpa 2.0)

    je vaudrais ajouter quelques fonctionnalités et j'ai besoin de votre aide :

    - comment je peux crypter décrypter le mot de passse ?
    - l'utilisateur a le droit de 3 essais si le mot de passe ou login est eroné sinon il ne peut plus se connecter .et un message s'affiche " vous n'avez plus le droit de vous connecter .contactez l'admin"


    voici le bean de ma page login:
    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    package authentification;
     
    import javax.ejb.EJB;
    import org.jpa.entities.Utilisateur;
    import javax.faces.application.FacesMessage;
    import javax.faces.bean.ManagedBean;
    import javax.faces.bean.SessionScoped;
    import javax.faces.context.FacesContext;
    import javax.persistence.EntityManager;
    import javax.persistence.NoResultException;
    import javax.persistence.PersistenceContext;
    import javax.persistence.Query;
     
    @ManagedBean
    @SessionScoped
    public class loginBean {
     
        @PersistenceContext
        private EntityManager em;
     
        private String login;
        private String password;
        private String nom;
        private String prenom;
     
     
        public String getLogin() {
            return login;
        }
     
        public void setLogin(String login) {
            this.login = login;
        }
     
        public String getPassword() {
            return password;
        }
     
        public void setPassword(String password) {
            this.password = password;
        }
     
        public String getPrenom() {
            return prenom;
        }
     
        public void setPrenom(String prenom) {
            this.prenom = prenom;
        }
     
     
        public String validateUser() {
            FacesContext context = FacesContext.getCurrentInstance();
            Utilisateur user = getUser();
            if (user != null) {
                if (!user.getUtMotDePasse().equals(password)) {
                    FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR,
                            "Login Failed!",
                            "The password specified is not correct.");
                    context.addMessage(null, message);
                    return null;
                }
     
                context.getExternalContext().getSessionMap().put(USER_SESSION_KEY, user);
                System.out.println(user.getUtStatut());
                if ("agent".equalsIgnoreCase(user.getUtStatut().trim())) {
                    return "acceuilAgent?faces-redirect=true";
                } else {
                    return  "/chef_service/chefAcceuil?faces-redirect=true";
                }               where u define role
     
     
            } else {
                FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR,
                        "Login Failed!",
                        "Username '"
                        + login
                        + "' does not exist.");
                context.addMessage(null, message);
                return null;
            }
        }
     
     
        @EJB
        private org.jpa.sessionbean.UtilisateurFacade jpaController;
        private Utilisateur getUser() {
            try {
                EntityManager em =jpaController.getEntityManager();
                Query query = em.createNamedQuery("Utilisateur.findByUtLogin");
            query.setParameter("utLogin", login);
            Utilisateur user= ( Utilisateur) query.getSingleResult();
     
                //Utilisateur user = (Utilisateur) jpaController.getEntityManager().createNamedQuery("Utilisateur.findByUtLogin").
                        //setParameter("utLogin", login).getSingleResult();
                return user;
            } catch (NoResultException nre) {
                return null;
            }
        }
    }
    je ne sais comment procéder ,si vous avez un exemple je serai reconnaissante

    merci d'avance pout votre aide

  2. #2
    Membre expérimenté Avatar de Shinzul
    Homme Profil pro
    Lecteur assidu de code source
    Inscrit en
    Janvier 2008
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Lecteur assidu de code source
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2008
    Messages : 174
    Par défaut
    Pour l'encodage je te conseillerai de chercherai une api te fournissant le cryptage de chaines de caractères. Je n'en ai plus en tête mais je sais que c'est disponible pour convertir facilement avec SHA-1 ou MD5.

    Pour ce qui est du nombre d'essai, tu peut mettre une variable dans ton managedBean qui compte le nombre d'essai.
    A chaque erreur, elle est incrémenté et si tu passe le 3, tu retourne un outcome qui te redirigera vers une page d'erreur où tu pourra mettre ce que tu veux

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    294
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 294
    Par défaut
    Moi je te conseillerais d'utiliser JAAS, ce framework va te permettre de sécurisé ton application.

  4. #4
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 44
    Par défaut
    Pour le cryptage voir la librairie catalina http://igm.univ-mlv.fr/~dr/XPOSE2003...cat.php?rub=26

Discussions similaires

  1. problème page de login
    Par cyril911 dans le forum Langage
    Réponses: 3
    Dernier message: 18/04/2007, 16h14
  2. Authentification avec JAAS et Page de login en page d'acceuil
    Par Slash696 dans le forum Wildfly/JBoss
    Réponses: 3
    Dernier message: 02/03/2007, 16h13
  3. Page de login -- script PHP qui ne marche pas
    Par Alexlesilex dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 24/04/2006, 16h32
  4. Test de Dsiponibilité : Page de login
    Par Nexussmb dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 06/02/2006, 17h20
  5. [servlet][jsp] Creer une page de login
    Par Beuj dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 19/03/2004, 17h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo