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 :

Gestion des évènements en JSF


Sujet :

JSF Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 49
    Points : 37
    Points
    37
    Par défaut Gestion des évènements en JSF
    Bonsoir;
    J'ai une interface d'authentification,avec un bouton de connexion, comment je peux me connecter et afficher une autre interface?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p:commandButton  value="Connexion" action="#{personnelBean.login}"/>
    .
    Merci

  2. #2
    Membre éprouvé Avatar de scandinave
    Homme Profil pro
    Développeur Java, NodeJs/Angular
    Inscrit en
    Mai 2009
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Java, NodeJs/Angular

    Informations forums :
    Inscription : Mai 2009
    Messages : 277
    Points : 919
    Points
    919
    Par défaut
    Il nous faudrait plus de détail sur la technologie que tu utilise. Tu peux par exemple utiliser Apache Shiro qui est un framework te permettant de gérer les ACL.

    Sinon basiquement tu aura quelque chose du genre.

    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
    @ManagedBean
    @RequestScope
    public class Connexion {
     
         private string login;
         private string password;
     
     
         // les accesseurs qui vont bien
     
     
         public void login() {
             if(userIsAllow(login, password) 
                    new User(login, password);
                    return "toNextBean";
             } else {
                     FacesMessage msg = new FacesMessage(Message.SEVERITY_ERROR, "Identifiant incorrect!",
                            "Connexion impossible, login ou mot de passe incorrect!");
                     FacesContext.getCurrentInstance().addMessage(null, msg);
             }
        }
     
    }

    Ton object User est un bean en scope session comme cela il sera accessible de partout tant que l'utilisateur est connecté. Pour tester la connexion, le plus simple est d'utiliser un javax.servlet.Filter qui check si l'utilisateur est authentifié ou si il a les droits d'accès au fichier et le redirige sur une page de connexion si il n'est pas connecté. C'est a toi d'implémenter la methode userIsAllow. Typiquement tu auras un accès base de donnée pour vérifier que ton utilisateur est connu du système.


    J'aurai bien mis plus de code. Mais écrire sur une tablette n'est pas facile.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 49
    Points : 37
    Points
    37
    Par défaut
    Merci pour votre réponse.J'utilise jpa , jsf pour developper une application j2ee.Je cherche comment realiser en meme temps ation sur le bouton de connexion et une redirection vers une autre interface.

  4. #4
    Membre éprouvé Avatar de scandinave
    Homme Profil pro
    Développeur Java, NodeJs/Angular
    Inscrit en
    Mai 2009
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Java, NodeJs/Angular

    Informations forums :
    Inscription : Mai 2009
    Messages : 277
    Points : 919
    Points
    919
    Par défaut
    Dans ce cas, ma réponse précedente devrait te satisfaire. Il te faut juste logguer l'utilisateur dans ta méthode login puis retourner le lien faces-config que j'ai noté "toNextBean". Si tu n'a jamais utilisé de faces-config regarde les tuto sur le net, c'est très bien expliqué

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Mai 2011
    Messages : 790
    Points : 443
    Points
    443
    Par défaut
    Pour allez d'une interface à une autre vous devez déclencher dans votre méthode un return de type string ensuite configurer cette chaîne dans votre face-config.xml. c'est la balise navigation-rule

  6. #6
    Membre actif
    Homme Profil pro
    Développeur Java/JavaEE
    Inscrit en
    Août 2014
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Java/JavaEE

    Informations forums :
    Inscription : Août 2014
    Messages : 194
    Points : 290
    Points
    290
    Par défaut
    Je te propose ce bout de code à mettre dans ton bouton d'authentification
    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
     
    public String doLogin() {
    		String navigateTo = null;
    		// login application logic
                   // tester le login et le pwd
    		User found = authenticationServiceLocal.authenticate(user.getLogin(),user.getPassword());
    		if (found != null) {
    			user = found;
    			loggedIn = true;
    			if (user instanceof Admin) {
    				navigateTo = "/pages/admin/home?faces-redirect=true";
    			}
    			if (user instanceof Customer) {
    				navigateTo = "/pages/customer/home?faces-redirect=true";
    			}
     
    		} else {
    			FacesContext.getCurrentInstance().addMessage("login_form:login_submit",new FacesMessage("Bad credentials!"));
    		}
    		return navigateTo;
    	}

Discussions similaires

  1. [XML] [EXPAT] xml_parse et la gestion des événements...
    Par Herode dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 05/02/2006, 20h59
  2. Gestion des évènements Netscape 7.0
    Par RATHQUEBER dans le forum Autres langages pour le Web
    Réponses: 6
    Dernier message: 19/12/2005, 16h26
  3. Problème avec la gestion des événements
    Par CynO dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/10/2005, 10h07
  4. [JTable] gestion des événements
    Par soulhouf dans le forum Composants
    Réponses: 4
    Dernier message: 19/08/2005, 13h21
  5. Gestion des évènements lors d'un clique sur une image.
    Par yoghisan dans le forum Débuter
    Réponses: 7
    Dernier message: 23/06/2005, 19h04

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