Я пытаюсь изучить Spring Security и создал простой контроллер. Я хочу включить POST для / всех конечных точек для неавторизованных пользователей и POST для / пользователей для пользователей с ролью USER. По какой-то причине мой код всегда возвращает не авторизованный код 403.
Контроллер
public class Controller {
@PostMapping("/all")
public ResponseEntity<Object> all() {
return new ResponseEntity<>("all", HttpStatus.OK);
}
@PostMapping("/user")
public ResponseEntity<Object> user() {
return new ResponseEntity<>("user", HttpStatus.OK);
}
}
Конфигурация безопасности
@Configuration
@EnableWebSecurity
public class SecurityConfiguration extends WebSecurityConfigurerAdapter{
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers(HttpMethod.POST, "/all").permitAll()
.antMatchers(HttpMethod.POST, "/user").hasRole("USER");
}
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.inMemoryAuthentication()
.withUser("user").password("user").roles("USER");
}
}