Задать вопрос
vanesxl
@vanesxl

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

Всем доброго дня!
Пытаюсь изучать Spring. Пытаюсь разобраться как работает Spring Security. Создал модель, сделал форму регистрации, почему то форма авторизации всегда выдает что
Неверные учетные данные пользователя

Я уже несколько дней пытаюсь авторизовать пользователя, но все безуспешно.
Модель User стандартная и имплементирует UserDetails
Написал вот такой интерфейс:
public interface UserDetailsService {
    UserDetails loadUserByUsername(String username) throws UsernameNotFoundException;
}

Далее сделал класс конфигурации:
@Configuration
public class SecurityConfig {
    @Bean
    public BCryptPasswordEncoder bCryptPasswordEncoder() {
        return new BCryptPasswordEncoder();
    }

    @Bean
    public UserDetailsService userDetailsService(UserRepository userRepo) {
        return username -> {
            User user = userRepo.findByUsername(username);
            if (user != null) return user;
            System.out.println("User ‘" + username + "’ not found");
            throw new UsernameNotFoundException("User ‘" + username + "’ not found");
        };
    }

    @Bean
    public SecurityFilterChain filterChain(HttpSecurity http) {
        return filterChainBuild(http);
    }
}

В конфигах прописал:
logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE

Из лога видно что при авторизации даже обращения к базе не идет.
Может есть у кого то идеи? Буду очень благодарен
  • Вопрос задан
  • 515 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
Не работает потому, что ты не конфигурируешь Spring Security в своём SecurityConfig, а лишь создаёшь Bean-ы. Тебе нужно объявить свой AuhenticationManager или AuthenticationProvider.

Это должно помочь:
https://www.baeldung.com/spring-security-authentic...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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