오류 로그
회원 탈퇴 후 로그인 상태가 유지됨
뚜껑뚜
2022. 4. 1. 18:52
에러 발생 상황
회원 탈퇴 기능 구현 중 기능은 잘 작동하나 탈퇴 후에 인덱스로 리다이렉트 됐을 때 여전히 네비바에 있는 탭이 로그인 시 보여주는 탭으로 보였다.
문제 파악
시큐리티쪽 문제인가 싶어서 검색해보니 탈퇴처리 후 다음 코드를 꼭 추가해야 한다고 한다.
SecurityContextHolder.clearContext();
문제 해결
그래서 위 코드를 회원 탈퇴 service 로직에 추가했더니 이제 회원 탈퇴 후 네비바에 비로그인 상태의 탭이 잘 보인다.
public void delete(UserDeleteRequestDto userDeleteRequestDto) {
User user = userRepository.findById(userDeleteRequestDto.getId()).orElseThrow(() -> new IllegalArgumentException("해당 회원이 존재하지 않습니다."));
if (encoder.matches(userDeleteRequestDto.getPassword(), user.getPassword())) {
userRepository.deleteById(userDeleteRequestDto.getId());
SecurityContextHolder.clearContext();
} else {
throw new IllegalArgumentException("패스워드가 일치하지 않습니다.");
}
}