• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

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

21.05.07 22:51 작성 조회수 156

1

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

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

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

답변 1

답변을 작성해보세요.

2

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

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

감사합니다.