1

Je l'essayais mettre en œuvre l'authentification personnalisée, l'authentification fonctionne très bien, mais ont des problèmes avec l'autorisation. J'utilise des jetons JWT, toute API j'essaye d'y accéder en me jetant une erreur interdite de 403. Je ne suis pas sûr de ce qui ne va pas. J'ai le code source complet dans github. https://github.com/vivdso/SpringAuthentication, la magie de démarrage de printemps ne fonctionne pas sur ce point. Tous les pointeurs sont utilisés. Utilisation de MongoDb en tant que référentiel pour stocker les comptes d'utilisateurs et les rôles.
InMemory authentification fonctionne bien, mais l'authentification personnalisée returs toujours 403, ci-dessous mon I étendu WebSecurityConfigurerAdapterAuthentification personnalisée - Spring boot 403 erreur interdite

@Autowired 
    public void configureAuthentication(AuthenticationManagerBuilder authenticationManagerBuilder) throws Exception { 
//  authenticationManagerBuilder.inMemoryAuthentication().withUser("admin").password("admin").roles("ADMIN"); 
//  authenticationManagerBuilder.inMemoryAuthentication().withUser("user").password("user").roles("USER"); 

authenticationManagerBuilder.authenticationProvider (getCustomAuthenticationProvider()); }

@Override 
protected void configure(HttpSecurity http) throws Exception { 
http 
       .authorizeRequests() 
       .antMatchers(HttpMethod.GET, "/customer").hasAuthority("ADMIN") 
       .antMatchers(HttpMethod.GET, "/order").hasAuthority("USER").and() 
       .csrf().disable(); 
    } 

@Bean 
    protected CustomAuthenticationProvider getCustomAuthenticationProvider(){ 
     return new CustomAuthenticationProvider(); 
    } 

Je n'ai aucune implémentation personnalisée d'autorisation.

Répondre

0

Le problème est résolu, j'ai mis à jour le dépôt Github. La sécurité de démarrage au printemps fonctionnait correctement, le problème était que les rôles assignés à la collection d'utilisateurs étaient un objet chaîne Json (par exemple {"rôle": "ROLE_ADMIN"}) au lieu de l'objet "ROLE_ADMIN".

Remerciements