2017-01-10 6 views
0

Я использую Spring Security для базовой проверки подлинности для защиты моих API REST.Spring Security throwing 403 после базовой аутентификации

Ниже приведен код конфигурации:

@Configuration 
@EnableWebSecurity 
public class SecurityConfiguration extends WebSecurityConfigurerAdapter { 

    @Autowired 
    public void configureGlobalSecurity(AuthenticationManagerBuilder auth) throws Exception { 
     auth 
      .inMemoryAuthentication() 
       .withUser("user") 
        .password("password") 
        .roles("admin"); 
    } 

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

     http 
      .csrf().disable() 
      .authorizeRequests() 
       .anyRequest().authenticated(); 
    } 
} 

Я получаю запрещен (403) ошибки аутентификации себя, используя правильное имя пользователя и пароль.

enter image description here

Пожалуйста, предложить изменения, чтобы получить его работу.

ответ

3

Вы не включили HTTP Basic Authentication вы должны использовать HttpSecurity.httpBasic()

@Configuration 
@EnableWebSecurity 
public class SecurityConfiguration extends WebSecurityConfigurerAdapter{ 


    @Autowired 
    public void configureGlobalSecurity(AuthenticationManagerBuilder auth) throws Exception{ 
     auth.inMemoryAuthentication().withUser("user").password("password").roles("admin"); 
    } 

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

     http.csrf().disable() 
       .httpBasic() 
       .authorizeRequests() 
        .anyRequest().authenticated(); 
    } 

}