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

ygh님의 프로필 이미지

작성한 질문수

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

Users Microservice - 로그인 처리 과정

안녕하세요! 질문있습니다.

21.05.07 22:51 작성

·

211

1

안녕하세요! 좋은강의 감사드립니다 :)

해당 강의 12분33초경에 AuthenticationFilter에서 userId를 얻기위해 DB호출을 한번 더 하기보다는, 이전에 UserDetailsService의 loadUserByUsername 메서드에서 반환하는 User 객체를 Custom하여 userId를 AuthenticationFilter에서도 DB호출 없이 사용할 수 있도록 하는 방법이 더 적절한 방법이라는 생각이 드는데요.

혹시, AuthenticationFilter의 successfulAuthentication 메서드에서 DB 호출을 한번 더 하는 방식을 선택하신 특별한 이유가 있을까요?

답변 1

2

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

2021. 05. 11. 06:14

안녕하세요, 이도원입니다.

말씀하신 것 처럼, 한번의 DB요청으로, loadUserByUsername에서 user_id를 저장할 수 있도록 User 클래스를 확장하시고, successfulAuthentication 메소드에서 사용하실 수도 있습니다. 현재 예제에서는 H2 메모리DB를 사용하고 있고, 속도 및 비용이 그렇게 크지 않아서, Spring Security의 기본 UserDeails를 구현한 User 클래스를 최대한 사용하려고 했었습니다. 

감사합니다.

ygh님의 프로필 이미지

작성한 질문수

질문하기