Replies: 1 comment 3 replies
-
|
음 아 그렇네요. 리뷰할 때 이 부분을 미처 고려를 못 했는데, 생각해보니 저는 이전 프로젝트에서는 그런 식으로 했던 기억이 있습니다. 3번 항목에서 설명하신 내용의 의미를 정확하게 파악하지 못 했습니다. |
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
상기된 어노테이션은, spring security 에서 인증 후 CustomUserDetails 를 매핑하는 어노테이션입니다. 즉, 컨트롤러에서 이를 통해 CustomUserDetails 를 매개변수로 받을 수 있습니다. 현재 저희 프로젝트는
MemberDetails를 사용하고 있으며 이 안에는Member엔티티가 존재합니다.고민되는게,
결국 반환되는 MemberDetails 에서 id 등을 알기 위해 Member 를 호출할텐데, 이런 엔티티를 컨트롤러에서 직접 다루는게 괜찮을까?
만약 해당 엔티티에 lazy loading 객체가 존재한다면, 이를 호출할 때
LazyInitializationException을 뱉을 텐데, 괜찮나?2-1. 이에 대한 해결 방법으로써, member 엔티티에 다른 연관관계를 두지 않던지, 혹은 연관 관계인 객체를 호출하지 않으면 되긴 하지만, 만약 필요하다면 그 해결 방법은?
결국, 찾아본 바에 의하면 UserDetailsService 의 loadUserByUsername의 반환 객체를 반환한다고 하는데 이는 db에서 해당 유저를 조회하는 쿼리를 발생시키게 됨. 이럴꺼면 차라리 jwt 에서 추출한 id 만 가져오고, 이를 통해 검색 등을 하면 되지 않나?
기존에는 contextHolder 에서 유저 정보를 가져왔으나 해당 방식 자체는 굉장히 좋아 보이긴 합니다. 다만, 상기 명시된 항목에 대해 의견 있을까요?
Beta Was this translation helpful? Give feedback.
All reactions