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

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

sagada1628님의 프로필 이미지

작성한 질문수

스프링 시큐리티 완전 정복 [6.x 개정판]

인증 제공자 - AuthenticationProvider - 2

Bean UserDetailsService

작성

·

23

0

만약에 CustomProvider를 빈으로 정의한다면
DAOProvider를 저희가 만든 CustomProvider 가 대체하는것으로 이해 했는데 그렇게 되면 저희가 빈으로 정의한 UserDetailsService는 사용하지 않는건가요?

답변 2

0

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

빈으로 정의한 UserDetailsService는 CustomProvider 에서 주입받아 사용하면 됩니다

DAOProvider는 빈으로 정의한 UserDetailsService 를 자동 참조하지만 CustomProvider 는 직접 참조해서 사용해야 합니다

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. sagada1628님.

스프링 시큐리티에서 CustomProvider를 빈으로 정의하게 되면, 기본적으로 스프링 시큐리티가 제공하는 DaoAuthenticationProvider 대신 여러분이 정의한 CustomProvider가 사용됩니다. 이는 여러분의 애플리케이션에서 사용자 인증 과정을 커스터마이징할 수 있는 유연성을 제공합니다.

하지만, UserDetailsServiceAuthenticationProvider는 서로 다른 역할을 가집니다. UserDetailsService는 주로 사용자 정보를 불러오는 데 사용되며, CustomProvider는 사용자 인증의 핵심 로직을 포함합니다.

따라서, CustomProvider를 정의하더라도 UserDetailsService는 여전히 사용자 정보를 불러오는 데 사용됩니다. 만약 빈으로 정의된 UserDetailsService를 사용하고 있다면, CustomProvider에서도 이 UserDetailsService를 활용하여 사용자 정보를 가져올 수 있습니다.

아래의 링크를 통해 질문과 유사한 상황에 대한 답변을 찾아볼 수 있습니다:
- 섹션 13의 5번째 강의(CustomUserDetails 구현하기) 질문입니다. !!

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.