Я пытаюсь реализовать базовую c аутентификацию с весенней загрузкой для конечных точек Rest Service. Ниже мой пример кода. У меня нет базы данных для хранения имени пользователя и паролей и использования application.properties для хранения паролей . Мои остальные службы будут использоваться внешней системой, и не рекомендуется делиться простыми паролями с внешними системами . Может ли кто-нибудь подсказать, как сгенерировать пароли, которые являются безопасными. мы генерируем случайное число? Можем ли мы использовать BCryptPasswordEncoder для пароля со случайным числом?
@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {
private static final Logger log = LogManager.getLogger();
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/**").authenticated()
.and()
.httpBasic();
http.csrf().disable();
}
@Bean
public UserDetailsService userDetailsService() {
String username = "username";
String password = "password";
InMemoryUserDetailsManager manager = new InMemoryUserDetailsManager();
String encodedPassword = passwordEncoder().encode(password);
manager.createUser(User.withUsername(username).password(encodedPassword).roles("USER").build());
return manager;
}
@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
}