인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

잠꾸님의 프로필 이미지
잠꾸

작성한 질문수

스프링 시큐리티

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

CustomAuthenticationProvider 질문입니다.

작성

·

233

0

안녕하세요.

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

 

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

 

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

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

 

감사합니다.

 

 

답변 1

0

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

정확하게 보셨습니다

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

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

감사합니다

 

잠꾸님의 프로필 이미지
잠꾸

작성한 질문수

질문하기