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 :

Authentification multiple url de login [Security]


Sujet :

Spring Java

  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2014
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2014
    Messages : 50
    Par défaut Authentification multiple url de login
    Bonjour,

    Je suis actuellement entrain de travailler sur la partie authentification d'une application web utilisant Spring Security. J'essaye d'ajouter une autre url de connexion pour que le web services soit utiliser au mieux par une application mobiles (c'est a dire sans retour de code html par exemple et donc le customize). Cependant je souhaite garder la première url intact pour la connexion a l'application via un navigateur web. J'ai donc fait ceci :

    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
     
    @EnableWebSecurity
    @EnableGlobalMethodSecurity(prePostEnabled = true)
    public class MultiHttpSecurityConfig {
     
    	@Configuration
    	@Order(1)
    	public static class WebSecurityConfig extends WebSecurityConfigurerAdapter {
     
    		@Autowired
    		private CustomAuthenticationProvider customAuthenticationProvider;
     
    		@Override
    		public void configure(AuthenticationManagerBuilder auth) throws Exception {
    			auth.authenticationProvider(customAuthenticationProvider);
    		}
     
    		@Override
    		protected void configure(HttpSecurity http) throws Exception {
     
    			http.authorizeRequests()
    				.antMatchers("/chat/**")
    					.permitAll()
    				.antMatchers("/service/boite_idee_note/**", "/service/atelier_vote/**", "/service/equipe/**").access("hasRole('ROLE_ADMIN') or hasRole('ROLE_SUPER_ADMIN')")
    				.antMatchers("/", "/Repository/**", "/uploadFile", "/uploadPdf", "/uploadLogo","/upload_nouveau_venu", "/service/**").access("hasRole('ROLE_USER') or hasRole('ROLE_ADMIN') or hasRole('ROLE_SUPER_ADMIN')")
    				.and().formLogin().loginPage("/login")
    				.and().addFilterAfter(new CsrfHeaderFilter(), CsrfFilter.class).csrf()
    					.ignoringAntMatchers("/chat/**")
    					.csrfTokenRepository(this.csrfTokenRepository());
    		}
     
    		/**
                     * @return
                     */
    		private CsrfTokenRepository csrfTokenRepository() {
    			HttpSessionCsrfTokenRepository repository = new HttpSessionCsrfTokenRepository();
    			repository.setHeaderName("X-XSRF-TOKEN");
    			return repository;
    		}
     
     
    	}
     
    	@Configuration
    	@Order(2)
    	public static class WebSecurityConfigAppMobile extends WebSecurityConfigurerAdapter {
     
    		@Autowired
    		private CustomAuthenticationProvider customAuthenticationProvider;
     
    		@Override
    		public void configure(AuthenticationManagerBuilder auth) throws Exception {
    			auth.authenticationProvider(customAuthenticationProvider);
    		}
     
    		@Override
    		protected void configure(HttpSecurity http) throws Exception {
     
    			http.formLogin()
    	            .loginPage("/loginMobile")
    	            .and().logout()
    				.and().addFilterAfter(new CsrfHeaderFilter(), CsrfFilter.class).csrf()
    					.csrfTokenRepository(this.csrfTokenRepository());
    		}
     
    		/**
                     * @return
                     */
    		private CsrfTokenRepository csrfTokenRepository() {
    			HttpSessionCsrfTokenRepository repository = new HttpSessionCsrfTokenRepository();
    			repository.setHeaderName("X-XSRF-TOKEN");
    			return repository;
    		}
    	}
    }
    Le problème c'est lorsque je fait une requête sur l'url /loginMobile, je reçoit une erreur 404 de la part du serveur. J'ai l'impression que le second adaptater n'est pas pris en compte.

    Je voudrais donc savoir si je m'y prends de la bonne façon.

    Merci pour votre aide

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

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 962

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Spring security : authentification avec MySQL
    Par paladice dans le forum Spring
    Réponses: 8
    Dernier message: 18/05/2016, 15h18
  2. [Security] spring security authentification
    Par smiles dans le forum Spring
    Réponses: 5
    Dernier message: 27/04/2010, 13h32
  3. [Security] Spring security (base de données) et authentification ldap ?
    Par amine84 dans le forum Spring
    Réponses: 0
    Dernier message: 16/02/2010, 10h47
  4. Spring security + Web service: Authentification
    Par Toinou87 dans le forum Services Web
    Réponses: 1
    Dernier message: 11/07/2009, 15h32
  5. [Spring Security] Authentification par groupe LDAP
    Par titeuf92 dans le forum Spring Web
    Réponses: 2
    Dernier message: 25/06/2008, 10h28

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