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 rediriger vers page d'acceuil multiple après le login


Sujet :

Spring Web Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2009
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Spring Security rediriger vers page d'acceuil multiple après le login
    Je voudrais savoir si quelqu'un connaîtrait une source d'information pour créer des pages d'acceuil différentes après s'être logguer.

    Par exemple, lors du login je voudrais repérer si le user est un ROLE_ADMIN ou un ROLE_USER.

    si c'est un ROLE_ADMIN, je lui donne la page d'acceuil pour les admin et si c'est un ROLE_USER, je lui donne la page d'acceuil des users.

    J'utilise déjà ca, mais je ne sais pas comment définir des pages d'acceuil selon le rôle.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        <http auto-config="true" access-denied-page="/accessDenied.jsp">
     
            <intercept-url pattern="/index.do" access="IS_AUTHENTICATED_ANONYMOUSLY" />
            <intercept-url pattern="/login*" access="IS_AUTHENTICATED_ANONYMOUSLY" />
    		<intercept-url pattern="/**" access="IS_AUTHENTICATED_ANONYMOUSLY" />
     
    		<intercept-url pattern="/admin/*.do" access="ROLE_ADMIN" />
    		<intercept-url pattern="/**.do" access="ROLE_USER,ROLE_ADMIN"/>
     
    		<form-login default-target-url="/confirmationLogin.do" authentication-failure-url="/authenticationFailed.do"/>
     
    		<logout logout-success-url="/index.do"/>
     
        </http>
    Merci d'avance.

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2009
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Pour faire des redirection apres login vers des pages d'acceuil selon le role,
    j'ai créer un controleur RedirectHomePageController
    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
    public ModelAndView handleRequest(HttpServletRequest request,
    			HttpServletResponse response) throws Exception {
     
    		String username = new String();
    		User utilisateur = (User) (SecurityContextHolder.getContext().getAuthentication().getPrincipal());
    		GrantedAuthority[] autorite = (SecurityContextHolder.getContext().getAuthentication().getAuthorities());
    		if ( log.isDebugEnabled() )
            {
                username = utilisateur.getUsername();
    			log.debug( "******************************");
                log.debug( "** LoginProcessController - request.getSession().getAttributeNames().nextElement().toString(): " + request.getSession().getAttributeNames().nextElement().toString() );
                log.debug( "** username: " + username );            
                log.debug( "** Possède " + autorite.length + " autorités :");
                for(int i=0;i<autorite.length;i++){
                	log.debug( "** autorite[" + i + "]: " + autorite[i] );
                }
                log.debug( "******************************");
            }
     
    		//Redirection vers la page d'acceuil selon le role
    		//  Le role   --> La page d'acceuil associé
    		// ROLE_ADMIN --> /xxx/adminAcceuil.do
    		// ROLE_USER  --> /xxx/userAcceuil.do
    		if(autorite.length>0){
    			int j;
    			for(j=0;j<autorite.length;j++){
    				if(autorite[j].toString().compareTo("ROLE_ADMIN")==0){
    					response.sendRedirect("/xxx/adminAcceuil.do");
    					break;
    				}
    			}
    			for(j=0;j<autorite.length;j++){
    				if(autorite[j].toString().compareTo("ROLE_USER")==0){
    					response.sendRedirect("/xxx/userAcceuil.do");
    					break;
    				}
    			}
    		}else{
    			response.sendRedirect("/xxx/index.do");
    		}
     
     
     
    		return null;
    	}

  3. #3
    Membre à l'essai
    Femme Profil pro
    Développeur Java
    Inscrit en
    Mai 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 4
    Points : 10
    Points
    10
    Par défaut
    salut,
    Comment vous avez pu intégrer ce controller??
    merci

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/05/2014, 07h47
  2. [2.x] Rediriger vers page de login si sessions inexistantes
    Par cid007300 dans le forum Symfony
    Réponses: 1
    Dernier message: 10/01/2014, 18h29
  3. Réponses: 10
    Dernier message: 06/03/2013, 16h14
  4. [Security] Spring Security access denied page avec requête HTTP DELETE
    Par RmnX64 dans le forum Spring
    Réponses: 0
    Dernier message: 28/02/2013, 15h34
  5. Réponses: 1
    Dernier message: 03/12/2010, 15h22

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