🤍 전 강의 25% 할인 중 🤍

2024년 상반기를 돌아보고 하반기에도 함께 성장해요!
인프런이 준비한 25% 할인 받으러 가기 >>

  • 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

섹션 13의 5번째 강의(CustomUserDetails 구현하기) 질문입니다. !!

24.05.26 18:00 작성 조회수 74

0

SecurityConfig 클래스에서 @Bean 으로 등록한 UserDetailsService 클래스는 http.userDetailsService(userDetailsService) 이런식으로 설정하지 않는데, 그 이유를 알 수 있을까요 ??

 

커스텀하게 만든 UserDetailsService 즉, FormUserDetailsService 를 사용하기 위해서는 http.userDetailsService(userDetailsService) 이런식으로 설정을 해야된다고 강의에 설명되어 있었습니다.

 

근데, SecurityConfig 클래스에서 @Bean 으로 등록한 UserDetailsService 클래스도 걀국 우리가 직접 커스텀하게 만든것이지 않나요..?

그러면 이클래스도 http.userDetailsService(userDetailsService) 이런식으로 설정을 해야할거 같은데 안해도 정상적으로 작동하는 이유가 궁금합니다 !!

답변 1

답변을 작성해보세요.

0

UserDetailsService 를 일반 객체가 아니라 빈으로 정의하게 되면 스프링 시큐리티가 자동적으로 UserDetailsService 를 httpSecurity 속성에 설정하게 됩니다.

즉 http.userDetailsService(new UserDetailsService()) 는 수동으로 UserDetailsService 를 설정해야 하는 것이고 @Bean 으로 등록한 UserDetailsService 는 수동으로 할 필요가 없고 스프링 시큐리티에서 자동으로 설정해 주고 있습니다.

이 부분은 AuthenticationProvider 를 설명하는 강의챕터에서 확인할 수 있습니다.

채널톡 아이콘