Подтвердить что ты не робот

Как зарегистрировать SaltSource в Java Config (нет xml)

Я настраиваю новое веб-приложение, которое не использует xml (без web.xml и no spring.xml). У меня почти все работает, но я не могу понять, как зарегистрировать SaltSource. Мне нужно заменить следующее на эквивалент Java.

<authentication-manager>
  <authentication-provider user-service-ref="authService" >
   <password-encoder hash="sha" ref="myPasswordEncoder">
    <salt-source user-property="salt"/>
   </password-encoder>
  </authentication-provider>
</authentication-manager>

Пока у меня это есть в Java.

protected void configure(AuthenticationManagerBuilder auth) throws Exception {
    ReflectionSaltSource rss = new ReflectionSaltSource();
    rss.setUserPropertyToUse("salt");

    auth.userDetailsService(authService).passwordEncoder(new MyPasswordEncoder());
    // How do I set the saltSource down in DaoAuthenticationProvider
}

Итак, как мне зарегистрировать SaltSource, чтобы он попал в DaoAuthenticationProvider (как это делал в прошлом)?

4b9b3361

Ответ 1

Я должен работать, выполняя следующие действия:

protected void configure(AuthenticationManagerBuilder auth) throws Exception {
    ReflectionSaltSource rss = new ReflectionSaltSource();
    rss.setUserPropertyToUse("salt");
    DaoAuthenticationProvider provider = new DaoAuthenticationProvider();
    provider.setSaltSource(rss);
    provider.setUserDetailsService(authService);
    provider.setPasswordEncoder(new MyPasswordEncoder());
    auth.authenticationProvider(provider);
}