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

Whee님의 프로필 이미지

작성한 질문수

Spring Boot JWT Tutorial

DTO, Repository, 로그인

AuthController관련 문의 드려요!

해결된 질문

22.05.23 10:06 작성

·

417

1

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

답변 1

2

Dw Lee님의 프로필 이미지

2022. 05. 29. 14:00

인증으로 사용하는 컨트롤러 : 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. 11:07

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

Whee님의 프로필 이미지

작성한 질문수

질문하기