복붙노트

[SPRING] Java Config (no xml)에 SaltSource 등록하는 방법

SPRING

Java Config (no xml)에 SaltSource 등록하는 방법

나는 XML을 사용하지 않는 새로운 웹 애플리케이션을 설정하고있다 (web.xml도없고 spring.xml도 없다). 솔트 소스를 등록하는 방법을 알아낼 수 없다는 것을 제외하고는 거의 모든 것이 작동합니다. 다음을 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>

지금까지 나는 자바로 이것을 가지고있다.

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
}

그래서 DaoAuthenticationProvider에서 끝나도록 SaltSource를 등록하려면 어떻게해야합니까 (XML이 과거에했던 것처럼)?

해결법

  1. ==============================

    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);
    }
    
  2. from https://stackoverflow.com/questions/22994851/how-to-register-saltsource-in-java-config-no-xml by cc-by-sa and MIT license