@n199a
Java

Почему не работает фильтр запросов в Spring Security?

Почему при попытке выполнения любого запроса пользователем с правами ADMINISTRATOR я получаю 403 Forbidden, хоть и указано, что администратор может выполнять любые запросы (.anyRequest().hasRole(ADMINISTRATOR.name()))?

Есть такой фильтр запросов:
@Override
    protected void configure(HttpSecurity http) throws Exception {
        http.csrf().disable()
                .authorizeRequests()
                .antMatchers(HttpMethod.GET, GIFT_CERTIFICATES + "/**").permitAll() // GUEST - Read operations for main entity
                .antMatchers(AUTHENTICATION + "/**").permitAll()                   // For GUESTs
                .antMatchers(AUTHENTICATION + "/**").anonymous()                    // Access to authorized users is not allowed.
                .antMatchers(HttpMethod.POST, ORDERS).hasRole(USER.name())                      // USER - Make an order on main entity
                .antMatchers(HttpMethod.GET).hasRole(USER.name())                               // USER - All read operations
                .anyRequest().hasRole(ADMINISTRATOR.name())                                     // ADMINISTRATOR - All operations, including addition and modification of entities
                .and()
                .sessionManagement()
                .sessionCreationPolicy(SessionCreationPolicy.STATELESS)
                .and()
                .addFilterBefore(jwtFilter, UsernamePasswordAuthenticationFilter.class)
                .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
    }
  • Вопрос задан
  • 229 просмотров
Решения вопроса 1
azerphoenix
@azerphoenix Куратор тега Spring
Java Software Engineer
Добрый день.
Что возвращает ADMINISTRATOR.name()?
Не забудьте про префикс: ROLE_ в названии роли.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы