개(발)린이
Spring(로그아웃 및 쿠키확인) 본문
저번 시간에 로그인과 쿠키 생성을 구현 하였는데 로그아웃 기능을 구현하지 않아서 쿠키가 생성되었는지 직관적으로 확인하지 못하였다.
따라서 이번 시간은 로그아웃 기능을 구현하여 기능이 정상 작동되는지 확인하고 덤으로 쿠키가 제대로 생성되었는지 확인도 같이 해보겠다.
로그아웃은 로그인과 마찬가지로 컨트롤러에서 Mapping해주는데 로그인과 달리 로그아웃은 Get방식이라 GetMapping을 해준다.
@GetMapping("/logout")
public String logout(/* HttpSession session */
SessionStatus status) {
// 로그아웃 == 세션을 없애는 것
// * @SessionAttributes을 이용해서 session scope에 배치된 데이터는
// SessionStatus라는 별도 객체를 이용해야만 없앨 수 있다.
logger.info("로그아웃 수행됨");
//session.invalidate(): -> 기존 세션 무효화 방식으로는 불가
status.setComplete();
return "redirect:/";
}
// 회원 가입 화면 전환
@GetMapping("/signUp") // Get방식 : /comm/member/signUp 요청
public String signUp() {
return "member/signUp";
}
로그아웃은 쉽게 말해 세션을 없애는것이라 할 수 있다.
예전에 js를 배울땐 세션을 지우는데 invalidate()를 사용하였지만 여기선 이 방식으로는 불가하다.
SessionStatus라는 객체를 이용하여 없앨수가 있다.
status.setComplete()로 세션초기화 해준다.
그 후 리다이렉트로 리턴해주면 로그아웃 완료!
여기서 로그아웃 버튼을 눌러준다면?
로그아웃 성공!
덤으로 쿠키가 잘 생성되어 아이디가 저장된것을 볼 수 있다.
* 로그아웃 버튼에 링크 경로가 조금이라도 틀리거나 Mapping에 url에 오타가 생기면 바로 404가 뜬다
나는 세번이나 떠서 멘탈이 조금 나갔다 모두 조심하자!
'Spring' 카테고리의 다른 글
Spring(회원가입 - 이메일 중복 체크) (0) | 2023.04.26 |
---|---|
Spring(암호화) (0) | 2023.04.26 |
Spring(로그인-3 cookie) (0) | 2023.04.26 |
Spring(로그인-2) (0) | 2023.04.26 |
Spring(로그인 - 1) (0) | 2023.04.25 |