Tanay Mathur
Tanay Mathur

Reputation: 389

Spring Security throwing 403 after basic authentication

I am using Spring Security for basic authentication to secure my REST APIs.

Below is the configuration code:

@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();
    }
}

I am getting forbidden (403) error on authenticating myself using the correct username and password.

enter image description here

Please suggest the modifications to get it working.

Upvotes: 5

Views: 8647

Answers (2)

shazin
shazin

Reputation: 21883

You haven't enabled HTTP Basic Authentication you have to use 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()
                .and()
                .authorizeRequests()
                    .anyRequest().authenticated();
    }

}

Upvotes: 11

Infomaster
Infomaster

Reputation: 873

Updated

@Override
protected void configure(HttpSecurity http) throws Exception {
  http.csrf().disable().httpBasic().and().authorizeRequests().anyRequest().authenticated();
}

Upvotes: 3

Related Questions