최종 프로젝트(7)
👉 password 체크
if (!passwordEncoder.matches(requestDto.getPassword(), userDetails.getUser.getPassword())) {
throw new IllegalArgumentException("비밀번호가 일치하지 않습니다.");
}
프로필 수정, 회원 탈퇴 기능을 만들 때, 비밀번호를 입력 받아 일치 여부를 확인하는 분기처리를 작업했다,
userDetails 에 담긴 user의 정보안의 getPassword()로 확인을 하면 되겠다 라고 생각하고,
userDetails.getPassword()로 비교를 했는데, 계속 rawPassword 에러가 떳다.
그래서 로그인 방식처럼 User 객체를 만들어서 비밀번호를 조회하니까 잘 실행이 되었다.
여기서 나는 쓰지도 않을 객체를 굳이 만들어서 쿼리까지 날릴 필요가 있을까 생각을 했는데,
알고보니 UserDetails 안의 정보를 user 객체와 userId만 저장하고, getPassword는 return null로 지정을 해놓았다.
너무 바보같았다.
'❤️🔥TIL (Today I Learned)' 카테고리의 다른 글
[TIL] 2023-02-24(82day) / 최종 프로젝트(15day) (0) | 2023.02.24 |
---|---|
[TIL] 2023-02-16(76day) / 최종 프로젝트(9day) (0) | 2023.02.16 |
[TIL] 2023-02-09(71day) / 최종 프로젝트(4day) (0) | 2023.02.09 |
[TIL] 2023-02-08(70day) / 최종 프로젝트(3day) (0) | 2023.02.09 |
[TIL] 2023-02-07(69day) / 최종 프로젝트(2day) (0) | 2023.02.07 |
댓글