작성
·
227
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 클래스를 최대한 사용하려고 했었습니다.
감사합니다.