Как ограничить доступ в Spring Security для пользователей со статусом blocked?

Добрый день, Хочу сделать что бы пользователь со статусам blocked не мог авторизоваться и выдать соответствующую ошибку. есть ли в спринге какие то инструменты для этого?
Вот мой config Spring Security.
@Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests()
                .antMatchers("/","/login","/resources/*","/favicon.ico").permitAll()
                .antMatchers("/user/**").access("hasRole('ROLE_USER')")
                .antMatchers("/admin/**").access("hasRole('ROLE_ADMIN') or hasRole('ROLE_SUPER_ADMIN')")
                .and()
                .formLogin()
                .loginProcessingUrl("/login")
                .loginPage("/login")
                .successHandler(authenticationSuccessHandler)
                .failureUrl("/login?error=true")
                .and()
                .logout().logoutUrl("/logout").logoutSuccessUrl("/login")
                .and().csrf().disable();
    }
  • Вопрос задан
  • 1412 просмотров
Решения вопроса 1
piatachki
@piatachki
Немного не туда копаете. Интерфейс UserDetail предполагает, что пользователь может быть заблокирован. Когда реализуете свой
public class CustomUserDetails implements UserDetails
, переопределите метод

@Override
    public boolean isAccountNonLocked() {
        return true;
    }


согласно логике работы, которую предполагаете для своего ПО. За сим всё. Матчерсы трогать не надо.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Bell Integrator Ульяновск
До 400 000 ₽
Bell Integrator Ижевск
До 400 000 ₽
Bell Integrator Хабаровск
До 400 000 ₽
29 мар. 2024, в 09:44
20000 руб./за проект
29 мар. 2024, в 09:31
1000 руб./в час
29 мар. 2024, в 07:55
15000 руб./за проект