• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

RememberMe 설정 시 문제가 발생합니다...

21.06.21 16:31 작성 조회수 174

0

제가 RememberMe 설정 중 문제가 발생하여 해당 부분이 잘 안풀려 강사님께 질문 드립니다.

로그인 한 사용자 정보가 필요하여 AuthenticationProvider 에서 하단 캡쳐화면 처럼 설정을 하였습니다.

그리고 RememberMe 기능을 하단 캡쳐 화면 처럼 설정 하였습니다.

설정 후 rememberMe 기능 사용 시 로그인이 안되는 문제가 발생을 하였습니다.

그래서 디버깅 하여 확인 시 하단 캡쳐 화면과 같이 해당 부분에서 (TokenBasedRememberMeService에서 UserDetails user = getUserDetailsService().loadUserByUsername(username);) 다시 사용자를 다시 조회를 하여, email 파라미터의 값이 객체가 들어와서 로그인이 안되는 문제가 발생 합니다.

제가 RememberMe 기능 과  @AuthenticationPrincipal 어노테이션을 이용해서 Dto의 사용자 정보를 둘 다 사용을 하고 싶은데 이 경우 어떻게 해야하는지 구글링을 봐도 안나와서 강사님께 여쭤봅니다.

좋은 강의 해주셔서 감사합니다.

답변 2

·

답변을 작성해보세요.

0

죄송하지만 제가 공유해 주신 깃을 다시 받을려고 하는데 링크가 없어진 것 같습니다.

일단 위의 화면을 토대로 말씀을 드리도록 하겠습니다.

먼저 질문해 주신 내용 중에서

"다시 사용자를 다시 조회를 하여, email 파라미터의 값이 객체가 들어와서 로그인이 안되는 문제가 발생 합니다"

이 부분이 잘 이해가 되질 않습니다.

로그인 할 때 입력한 email 값을 Dto 객체로 받는다는 의미인가요?

일단 remember-me 기능은 remember 쿠키가 발급된 상태에서 요청을 하게 되면 자동 로그인이 되는 방식이고 인증에 성공하게 되면 Authentication 객체가 생성되고 여기에 principal 속성이 있는데 @AuthenticationPrincipal 은 Authentication 의 principal 속성에 인증에 성공한 정보를 담고 있는 User 객체를 편리하게 참조할 수있도록 제공하는 어노테이션입니다.

질문하신 "RememberMe 기능 과  @AuthenticationPrincipal 어노테이션을 이용해서 Dto의 사용자 정보를 둘 다 사용" 이라는 의미도 정확하게 이해가 되지 않습니다.

가능하시다면 조금 더 상세한 설명 부탁드립니다.

0

혹시 소스 깃 공유 가능할까요?

박찬석님의 프로필

박찬석

질문자

2021.06.21

안녕하세요. 강사님

제가 방금 깃 초대를 보냈습니다.

죄송하지만 한번 봐주신다면 정말 감사 드릴거 같습니다.

감사합니다