Получить простой пароль из базы данных из Spring Security без расшифровки - PullRequest
0 голосов
/ 06 мая 2020

У меня есть требование, в котором мне нужно сохранить пароль в виде обычного текста от приложения, в котором я загрузил проект

из git хаба https://github.com/bezkoder/spring-boot-spring-security-jwt-authentication. Он получает

хранится в базе данных в виде простого текста, что я и хочу в соответствии с моей настройкой, в которой я удаляю кодировку (мое требование

). Проблема возникает, когда я вхожу в систему с использованием имени пользователя и пароля. Я не могу найти, где

пароль расшифровывается и проверяется. Ошибка входа в систему с сообщением Ошибка входа:

Ошибка: неавторизованный.

В журналах я вижу:

Несанкционированная ошибка: неверные учетные данные

oss c .bcrypt.BCryptPasswordEncoder: закодированный пароль не похож на BCrypt

Я знаю, где он генерирует исключение

Authentication authentication = authenticationManager.authenticate(
                new UsernamePasswordAuthenticationToken(loginRequest.getUsername(), loginRequest.getPassword()));

Как прочитать текстовый пароль из базы данных, используя приведенный выше код.

1 Ответ

0 голосов
/ 06 мая 2020

It 'в классе WebSecurityConfig в строках с 50 по 52:

@Bean
public PasswordEncoder passwordEncoder() {
    return new BCryptPasswordEncoder();
}

Если вам действительно нужен простой текстовый пароль, вы можете использовать

@Bean
public PasswordEncoder passwordEncoder() {
    return new NoOpPasswordEncoder();
}

Но это будет крайне небезопасно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...