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 Web Java Discussion :

[spring-security] recuperer le login apres connection


Sujet :

Spring Web Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de amadoulamine1
    Inscrit en
    Avril 2005
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 260
    Par défaut [spring-security] recuperer le login apres connection
    Bonjour à tous
    je suis en train de configurer spring security.
    Le login marche mais aprés m'etre connecte je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <security:authentication property="principal.username" />
    pour récupérer le login de l'utilisateur connecté.

    Si quelqu'un peut bien m'aider svp...

    ci joint la page.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
    <html xmlns="http://www.w3.org/1999/xhtml"
    	xmlns:ui="http://java.sun.com/jsf/facelets"
    	xmlns:h="http://java.sun.com/jsf/html"
    	xmlns:f="http://java.sun.com/jsf/core"
    	xmlns:a4j="http://richfaces.org/a4j"
    	xmlns:rich="http://richfaces.org/rich"
    	xmlns:security="http://www.springframework.org/security/tags">
    ...
    <ui:define name="contenu">
    		login : <security:authentication property="principal.username" />
     
    		<h:outputText value="#{msg.titreApplication}" />
    </ui:define>
    </html>
    la page 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
    @Component
    @Scope("session")
    public class LoginBean
    {
     
        private String username = "";
        private String password = "";
        private boolean rememberMe = false;
        private boolean loggedIn = false;
        private User user;
     
    //getters and setters
       ...
        public String doLogin() throws IOException, ServletException
        {
            ExternalContext context = FacesContext.getCurrentInstance().getExternalContext();
     
            RequestDispatcher dispatcher = ((ServletRequest) context.getRequest()).getRequestDispatcher("/j_spring_security_check");
     
            dispatcher.forward((ServletRequest) context.getRequest(),(ServletResponse) context.getResponse());
     
            FacesContext.getCurrentInstance().responseComplete();
     
     
            // It's OK to return null here because Faces is just going to exit.
            return null;
     
        }
     
     
     
        @PostConstruct
        @SuppressWarnings("unused")
        private void handleErrorMessage()
        {
            Exception e = (Exception) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get(AbstractProcessingFilter.SPRING_SECURITY_LAST_EXCEPTION_KEY);
     
            if (e instanceof BadCredentialsException)
            {
                FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put(AbstractProcessingFilter.SPRING_SECURITY_LAST_EXCEPTION_KEY, null);
                FacesContext.getCurrentInstance().addMessage(null,
                        new FacesMessage(FacesMessage.SEVERITY_ERROR, "Username or password not valid.", null));
            }
        }
    Merci

  2. #2
    Membre éclairé Avatar de Bubu017
    Homme Profil pro
    Ingénieur validation
    Inscrit en
    Avril 2008
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 300
    Par défaut
    Moi je ne pouvais pas alors j'ai feinté on va dire. Je me suis fait mon propre tag avec comme code :
    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
     
    public class TagUser extends TagHandler {
     
    	public TagUser(ComponentConfig config) {
    		super(config);
    	}
     
    	public String getNomPrenom() {
     
    		Utilisateuruser = (Utilisateur) SecurityContextHolder
    				.getContext().getAuthentication().getPrincipal();
     
    		return user.getPrenom() + " " + user.getNom();
    	}
     
    	public void apply(FaceletContext arg0, UIComponent arg1)
    			throws IOException, FacesException, FaceletException, ELException {
    		HtmlOutputText stringChild = (HtmlOutputText) arg0.getFacesContext()
    				.getApplication()
    				.createComponent(HtmlOutputText.COMPONENT_TYPE);
    		stringChild.setValue("Bonjour " + getNomPrenom());
     
    		arg1.getChildren().add(stringChild);
    	}
    }
    Ce qui est important c'est : Utilisateur user = (Utilisateur) SecurityContextHolder
    .getContext().getAuthentication().getPrincipal(); où Utilisateur est ma propre classe d'utilisateur.

    Sinon tu avais réussi à résoudre ton problème ?

  3. #3
    Membre éclairé Avatar de amadoulamine1
    Inscrit en
    Avril 2005
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 260
    Par défaut
    malheureusement jusqu'à présent je n'ai pas encore pu résoudre le probleme!!!
    Mais j'ai utilisé une solution de ce genre en attendant.

    Bah si jamais tu trouves lol

Discussions similaires

  1. Spring Security Without Form Login
    Par PyroArkange dans le forum Spring Web
    Réponses: 0
    Dernier message: 24/04/2014, 16h26
  2. Réponses: 2
    Dernier message: 02/07/2011, 12h34
  3. Réponses: 5
    Dernier message: 30/07/2010, 20h33
  4. [Security] Spring security - Login after logout
    Par duff01 dans le forum Spring
    Réponses: 1
    Dernier message: 30/07/2010, 13h29
  5. Spring Security Login Role
    Par g25452 dans le forum Spring
    Réponses: 0
    Dernier message: 12/05/2009, 14h38

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