• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

AuthController관련 문의 드려요!

22.05.23 10:06 작성 조회수 328

1

AuthController에서 38번 행의authenticationManagerBuilder.getObject().authenticate(authenticationToken); 을 진행했을 때 CustomUserDetailsService의 loadUserByUsername가 실행된다고 했는데, 호출하지 않았는데 어떻게 실행되는건가요?? ㅠㅠ

답변 1

답변을 작성해보세요.

2

Dw Lee님의 프로필

Dw Lee

2022.05.29

인증으로 사용하는 컨트롤러 : AuthController.java authorize()

Authentication authentication = authenticationManagerBuilder.getObject().authenticate(authenticationToken);

이 부분에서 호출되면서 loadUserByUsername 함수를 호출해요.

 

호출 순서에요 (디버그로 확인)

1.AuthController.authorize() --> 현재 사용자가 만든 인증 컨트롤러

2.ProviderManager.authenticate() --> 스프링 내부 라이브러리

3.AbstractUserDetailsAuthenticationProvider.authenticate()  --> 스프링 내부 라이브러리

4.DaoAuthenticationProvider.retrieveUser()  --> 스프링 내부 라이브러리

5.CustomUserDetailsService.loadUserByUsername() --> 현재 사용자가 만든 사용자 정보 조회 및 인증데이터 입력

package org.springframework.security.authentication.dao;

DaoAuthenticationProvider.java

Whee님의 프로필

Whee

질문자

2022.05.31

자세한 설명 감사합니다! 저도 확인해 보도록 할게요! 좋은 하루 되세요~