JdbcUserDetailsManager 이전 글에서 설명한 UserDetailsManager의 구현체이다.

이전글의 InmemoryUserDetailsManager와 같이 구성클래스에서 빈으로 등록한다.
그러나 추가로 rdb와 연결하기 위해서는 DataSource가 필요하다.
@Configuration
public class ProjectConfig {
@Bean
public UserDetailsService userDetailsService(DataSource dataSource) {
return new JdbcUserDetailsManager(dataSource);
}
//password encoder 생략
}
DataSource를 통해 db를 통해 사용자정보, 암호, authority를 가져온다
UserDetailsManager의 구현체이기 떄문에 소스코드를 살펴보면
UserDetailsService의 메서드인 loadUsersByUsername이 있고

JdbcTemplate을 통해 쿼리를 발생시킨다는것을 볼 수 있다.
UserDetailsManager의 유저 CRUD메서드도 JdbcTemplate을 통해 수행한다는 것을 확인 할 수 있다.

기본 sql문이 정의되어있다

이에 대한 setter메서드가 있기 때문에 필요에 의해서 쿼리를 재정의 할 수 있다.