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

Spring Java Discussion :

Récupérer mon utilisateur après identification


Sujet :

Spring Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 44
    Points : 37
    Points
    37
    Par défaut Récupérer mon utilisateur après identification
    Salut à tous,

    voila sur mon appli spring web, je m'identifie au début pour avoir accès à certaines fonctionnalités de mon site comme le profil. Donc récupérer mes infos concernant mon profil quand je clique sr cette page avec le nom, prénom, etc.

    Je voudrais savoir comment récupérer mon utilisateur quand je me loggue. Déjà par exemple afficher Bienvenue nom et prénom de l'utilisateur qui vient de se logguer (le login c'est l'email pr spring secu) au lieu d'utiliser principal.name dans ma jsp. Comment créer une session en gros et récupérer tout ce qui concerne l'utilisateur en cours?

    Merci d'avance

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 937
    Points : 4 358
    Points
    4 358
    Par défaut
    Citation Envoyé par Raph87 Voir le message
    Salut à tous,

    voila sur mon appli spring web, je m'identifie au début pour avoir accès à certaines fonctionnalités de mon site comme le profil. Donc récupérer mes infos concernant mon profil quand je clique sr cette page avec le nom, prénom, etc.

    Je voudrais savoir comment récupérer mon utilisateur quand je me loggue. Déjà par exemple afficher Bienvenue nom et prénom de l'utilisateur qui vient de se logguer (le login c'est l'email pr spring secu) au lieu d'utiliser principal.name dans ma jsp. Comment créer une session en gros et récupérer tout ce qui concerne l'utilisateur en cours?

    Merci d'avance
    SecurityContextHolder a une méthode static getContext() qui donne le SecurityContext, qui a une méthode getAuthentication() qui renvoit un objet Authentication qui a une méthode getPrincipal() qui renvoit un Object mais qui est - une fois que vous êtes authentifié - une instance de votre classe qui contient les informations des utilisateurs (et qui en principe implémente l'interface UserDetails).

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 44
    Points : 37
    Points
    37
    Par défaut
    Bonjour,

    En fait j'ai une classe utilisateur (domain) avec id, nom, prénom, etc... un controller, un service et un dao (persistance). Là dedans, j'ai une méthode getUtilisateur(id) qui me renvoie un utilisateur. Mais que je ne connais pas l'id de l'utilisateur quand je me connecte.

    J'ai essayé ceci dans mon controleur Login quand j'arrive sur ma page après avoir été identifié.

    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
     
    	// page sur laquelle j'arrive après avoir entrée le login et le pass
    	@RequestMapping("/news.html")
    	public ModelAndView news(HttpServletRequest req)
    	{
    		ModelAndView mav = new ModelAndView();
     
    		mav.setViewName("layout");
    		//creationd e la sesion de l'utilisateur
    		Utilisateur u =(Utilisateur) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
    		//variable qui seront remplacé dans ma jsp via fmt: message
    		mav.addObject("pageTitle","Les dernières nouvelles de la HELB" );
    		mav.addObject("mainPage", "news.jsp");
    		mav.addObject("utilisateur",u);
     
    		return mav;
     
    	}
    Le cast en fais pas bien et du coup, j'ai une exception.

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 937
    Points : 4 358
    Points
    4 358
    Par défaut
    Utilisez instanceof pour savoir si vous pouvez faire le cast.

  5. #5
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Bonjour Raph87
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public static MyUserObject getCurrentUser()
    	{
    		SecurityContext ctx = SecurityContextHolder.getContext();				
                    currentUser = (MyUserObject )ctx.getAuthentication().getPrincipal();
    		return currentUser;
    	}
    Un résumé de ca qu'a écrit JeitEmgie.
    Cette méthode te permet d'avoir le user connecter

  6. #6
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public static MyUserObject getCurrentUser()
    	{
    		SecurityContext ctx = SecurityContextHolder.getContext();				
                    currentUser = (MyUserObject )ctx.getAuthentication().getPrincipal();
    		return currentUser;
    	}

    et comment appeler cette méthode ?

Discussions similaires

  1. Réponses: 12
    Dernier message: 01/07/2015, 18h44
  2. Réponses: 1
    Dernier message: 23/06/2015, 10h55
  3. récupérer les valeurs de mon grid aprés édition
    Par renardchan dans le forum Ext JS / Sencha
    Réponses: 3
    Dernier message: 22/06/2011, 23h10
  4. Arret de mon pc apres quelques minutes du check d'anti virus
    Par christophebmx dans le forum Sécurité
    Réponses: 4
    Dernier message: 01/07/2005, 14h50
  5. Réponses: 6
    Dernier message: 25/08/2004, 09h50

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