Basi c Аутентификация с помощью Spring boot для сервисов Rest - PullRequest
0 голосов
/ 09 июля 2020

Я пытаюсь реализовать базовую 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();
 }
 }  
...