인프런 커뮤니티 질문&답변

잠꾸님의 프로필 이미지

작성한 질문수

스프링 시큐리티

5) DB 연동 인증 처리(2) : CustomAuthenticationProvider

CustomAuthenticationProvider 질문입니다.

작성

·

224

0

안녕하세요.

이번 강의에서 CustomAuthenticationProvider 를 생성해서 등록하여 사용자 인증을 진행하는 과정을 시뮬레이션 해보니까 CustomAuthenticationProvider 를 등록하기전에는  DaoAuthenticationProvider 를 통해서 사용자 인증과정이 진행이 되고, CustomAuthenticationProvider 를 등록하니까 DaoAuthenticationProvider는 더이상 등록되지 않고 CustomAuthenticationProvider을 통해서 사용자 인증과정이 진행이 되더라구요.

 

그래서 궁금한 것은 CustomAuthenticationProvider 를 사용하지 않고 이미 스프링 시큐리티에서 제공되는 DaoAuthenticationProvider 를 사용해도 될까요?

 

바로 이전 강좌에서 만든 CustomUserDetailsService는 사용자가 새로 만든 Account 라는 엔티티를 Repository 에서 불러와서 계정이 존재하는지 확인해야 하기 때문에 필수적으로 만들 수 밖에 없다고 이해하였는데요.

그 이후에 Password 검증이라던지 하는 과정은 어짜피 CustomUserDetailsService에서 반환하는 UserDetails 객체를 이용해서 진행하니까 굳이 CustomProvider를 만들필요 없이 DaoAuthenticationProvider를 사용하면 안될까요?

 

감사합니다.

 

 

답변 1

0

정수원님의 프로필 이미지
정수원
지식공유자

정확하게 보셨습니다

스프링시큐리티에서 기본적으로 제공하는 DaoAuthenticationProvider를 사용하셔도 무방합니다

다만 인증검증을 위한 특별한 과정을 거쳐야 한다면 CustomAuthenticationProvider를 직접 구현하셔야겠죠

감사합니다

 

잠꾸님의 프로필 이미지

작성한 질문수

질문하기