Как ограничить доступ в 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();
    }
  • Вопрос задан
  • 1430 просмотров
Решения вопроса 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 ₽
19 апр. 2024, в 05:01
999999 руб./за проект
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект