2015-10-16 1 views
1

J'essaie de configurer Spring Boot avec Spring Security pour une application.Spring Spring et Spring Security inMemoryAuthentication ne fonctionne pas

Cependant, inMemoryAuthentication() semble être ne fonctionne pas et pour chaque utilisateur je ci-dessous erreur:

INFO 6964 --- [nio-8080-exec-6] o.s.b.a.audit.listener.AuditListener  : AuditEvent [timestamp=Fri Oct 16 19:09:41 IST 2015, principal=anonymousUser, type=AUTHORIZATION_FAILURE, data={message=Access is denied, type=org.springframework.security.access.AccessDeniedException}] 

Voici les configurations de fichiers utilisés:

SecurityConfig.java:

@Configuration 
@EnableWebMvcSecurity 
@Order(SecurityProperties.ACCESS_OVERRIDE_ORDER) 
public class SecurityConfig extends WebSecurityConfigurerAdapter { 


    @Override 
    public void configure(WebSecurity web) throws Exception 
    { 
     // 
     web 
     .ignoring() 
     .antMatchers("/WEB-INF/jsp/**"); 
    } 

    @Autowired 
    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception 
    { 
      auth.inMemoryAuthentication() 
        .withUser("user").password("password").roles("USER"); 


    } 


    @Override 
    protected void configure(HttpSecurity http) throws Exception { 

     http 

      .authorizeRequests().antMatchers("/homepage**").hasRole("USER") 
      .antMatchers("/index**").permitAll() 
      .antMatchers("/login**").permitAll() 

      .and() 
      .formLogin() 
      .loginPage("/login") 
      .loginProcessingUrl("/login") 
      .defaultSuccessUrl("/index"); 
     http.csrf().disable(); 

    } 

Même l'application n'a pas réussi à se connecter avec "user" et "password" donnés;

Spring boot version: 1.2.6 
Editor: STS 

En ce qui concerne les journaux de débogage, l'utilisateur inMemoryAuthencated montre en tant qu'utilisateur anonyme:

org.sprin[email protected]90576bf4: **Principal: anonymousUser**; Credentials: [PROTECTED]; Authenticated: true; Details: org.sprin[email protected]21a2c: RemoteIpAddress: 0:0:0:0:0:0:0:1; SessionId: FB03A4C352FC0164A5A3F751E52A5421; **Granted Authorities: ROLE_ANONYMOUS** 

Toute idée?

+0

Votre configuration indique que 'homepage' est une page de connexion mais que l'utilisateur doit avoir le rôle 'USER' pour y accéder? – jny

+0

@jny, j'ai édité, je pense que ne cause pas le problème –

Répondre

2

si vous remplacez votre processus de connexion personnalisé avec la page de connexion généré automatiquement:

@Override 
protected void configure(HttpSecurity http) throws Exception { 
    http.authorizeRequests().antMatchers("/homepage**").hasRole("USER") 
     .antMatchers("/index**").permitAll() 
     .antMatchers("/login**").permitAll() 
     .and() 
     .formLogin(); 
     //.loginPage("/login") 
     //.loginProcessingUrl("/login") 
     //.defaultSuccessUrl("/index"); 
    http.csrf().disable(); 
} 

L'erreur se produit encore? sinon, il semble que ce soit un problème avec votre processus de connexion personnalisé.

+0

@Merci Y.M, il a aidé –