728x90
브라우저를 끄지 않고 서버만 재 실행하는 상태로 기능들을 추가해왔는데
test를 하면서 문제가 되었던 부분이 생겼다.
채팅 url에서 서버를 재 시작하고 새로고침을 하면 로그인 후에 바로 채팅 창으로 넘어간다.
그런데 새로고침 이전에는 a로 로그인을 진행했으나 서버 재시작 후 s로 로그인을 하면
a로 인지하거나 null로 진행이 되버린다.
js에서 sessionStorage.setItem()으로 닉네임을 저장했는데 그 값이 여전히 남아있던 것이다.
그래서 자동 로그인 기능에 대해 생각해보게 되었고
구글링을 통해 다른 사람들이 구현해 놓은 코드들을 보았다.
오늘은 가볍게 코드를 짜보는걸로 했다.
코드들 가운데 nickname 값을 서버에서 세션 혹은 쿠키로 저장을 하는 코드를 보고
연습용 project에 작성후 test 해봤다.
@RequiredArgsConstructor
@RestController
public class LoginController{
@GetMapping("/")
public Object sessionRequest(@AuthenticationPrincipal UserDetailsImpl userDetails, HttpSession session){
session.setAttribute("nickname", userDetails.getUser().getNickname());
return session.getAttribute("nickname");
}
}
기존 코드에서 문제점 해결하기
기존의 sessionStorage 데이터를 삭제 해보는 걸로 시도해봤다.
sessionStorage.removeItem("nickname");
로그아웃 버튼을 누르면 "nickname"이라는 key를 가지고 있는 모든 데이터는 삭제된다.
그러나 여전히 브라우저를 종료하지 않고 서버만 재 시작하는 경우 데이터가 남아있다.
다음 글 >> [TIL] - 266일차(모험 175일차) - sessionStorage 삭제 2
728x90
'TIL' 카테고리의 다른 글
267일차(모험 176일차) - 회원가입 실시간 중복 체크하기 (0) | 2022.06.09 |
---|---|
266일차(모험 175일차) - sessionStorage 삭제 2 (0) | 2022.06.08 |
264일차(모험 173일차) - 입력 감지하기 (0) | 2022.06.06 |
261일차(모험 170일차) - 상대방과 나 구분하기 (0) | 2022.06.03 |
260일차(모험 169일차) - 상대방과 나 구분하기 (0) | 2022.06.02 |