작성
·
337
0
제가 RememberMe 설정 중 문제가 발생하여 해당 부분이 잘 안풀려 강사님께 질문 드립니다.
로그인 한 사용자 정보가 필요하여 AuthenticationProvider 에서 하단 캡쳐화면 처럼 설정을 하였습니다.
그리고 RememberMe 기능을 하단 캡쳐 화면 처럼 설정 하였습니다.
설정 후 rememberMe 기능 사용 시 로그인이 안되는 문제가 발생을 하였습니다.
그래서 디버깅 하여 확인 시 하단 캡쳐 화면과 같이 해당 부분에서 (TokenBasedRememberMeService에서 UserDetails user = getUserDetailsService().loadUserByUsername(username);) 다시 사용자를 다시 조회를 하여, email 파라미터의 값이 객체가 들어와서 로그인이 안되는 문제가 발생 합니다.
제가 RememberMe 기능 과 @AuthenticationPrincipal 어노테이션을 이용해서 Dto의 사용자 정보를 둘 다 사용을 하고 싶은데 이 경우 어떻게 해야하는지 구글링을 봐도 안나와서 강사님께 여쭤봅니다.
좋은 강의 해주셔서 감사합니다.
답변 3
0
0
죄송하지만 제가 공유해 주신 깃을 다시 받을려고 하는데 링크가 없어진 것 같습니다.
일단 위의 화면을 토대로 말씀을 드리도록 하겠습니다.
먼저 질문해 주신 내용 중에서
"다시 사용자를 다시 조회를 하여, email 파라미터의 값이 객체가 들어와서 로그인이 안되는 문제가 발생 합니다"
이 부분이 잘 이해가 되질 않습니다.
로그인 할 때 입력한 email 값을 Dto 객체로 받는다는 의미인가요?
일단 remember-me 기능은 remember 쿠키가 발급된 상태에서 요청을 하게 되면 자동 로그인이 되는 방식이고 인증에 성공하게 되면 Authentication 객체가 생성되고 여기에 principal 속성이 있는데 @AuthenticationPrincipal 은 Authentication 의 principal 속성에 인증에 성공한 정보를 담고 있는 User 객체를 편리하게 참조할 수있도록 제공하는 어노테이션입니다.
질문하신 "RememberMe 기능 과 @AuthenticationPrincipal 어노테이션을 이용해서 Dto의 사용자 정보를 둘 다 사용" 이라는 의미도 정확하게 이해가 되지 않습니다.
가능하시다면 조금 더 상세한 설명 부탁드립니다.
0
안녕하세요. 강사님
제가 방금 깃 초대를 보냈습니다.
죄송하지만 한번 봐주신다면 정말 감사 드릴거 같습니다.
감사합니다