Только пользователи с ролью администратора должны иметь возможность отправлять запросы в «пользователи / все», но базовые пользователи тоже могут.
Это моя конфигурация безопасности:
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable();
http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
http
.authorizeRequests()
.antMatchers(HttpMethod.POST, "/users/**").permitAll()
.antMatchers( "/users/all").authenticated().anyRequest().hasAnyRole("ADMIN")
.antMatchers("/users/me").authenticated().anyRequest().hasAnyRole("ADMIN", "BASIC_USER")
.and()
.formLogin().disable()
.httpBasic();
}
Это запрос от почтальона
Почему я могу сделать запрос у основного пользователя?
если я поставлю их в следующем порядке:
.antMatchers( "/users/all").authenticated().anyRequest().hasAnyRole("ADMIN")
.antMatchers("/users/me").authenticated().anyRequest().hasAnyRole("ADMIN", "BASIC_USER")
.antMatchers(HttpMethod.POST, "/users/**").permitAll()
Это то же самое, но запрос / me больше не работает.
/ все запросы
/ me request
Теперь ответ на запрос / me равен 403.