Как ограничить доступ в 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();
    }
  • Вопрос задан
  • 107 просмотров
Решения вопроса 1
piatachki
@piatachki
Немного не туда копаете. Интерфейс UserDetail предполагает, что пользователь может быть заблокирован. Когда реализуете свой
public class CustomUserDetails implements UserDetails
, переопределите метод

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


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

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

Войти через TM ID
Похожие вопросы
20 авг. 2018, в 07:25
180000 руб./за проект
20 авг. 2018, в 02:05
1000 руб./за проект