[spring 팀프로젝트] - 웹사이트 제작 5.로그아웃

JINI·2022년 12월 7일
0
post-thumbnail

로그아웃을 하면 세션/쿠키도 만료된다.

🧩로그아웃

📕Controller

//로그아웃시 세션종료후 메인index로 이동
	@GetMapping("logout")
	public String logout(HttpSession session, 
			HttpServletResponse response,
			@CookieValue(value="loginCookie",required=false) Cookie loginCookie) //자동로그아웃(쿠키종료)위해 쿠키 받아오기
	{
		if(session.getAttribute(LOGIN) != null) {
			if(loginCookie != null) {
				loginCookie.setPath("/"); //경로명시를 해야 쿠키종료, 최상위로 잡기
				loginCookie.setMaxAge(0);//쿠키값 0으로 설정
				response.addCookie(loginCookie); //사용자에게 보내기
				ms.keepLogin("nan",new java.sql.Date(System.currentTimeMillis()), //db도 변경(업데이트 keepLogin호출), 들어온 쿠키값은 다시 nan으로 처리//현재시간으로 변경
						(String)session.getAttribute(LOGIN)); //login비교할 아이디
			}
		}
		session.invalidate();           //세션종료                 
		return "redirect:/index";  
	}

세션/쿠키가 있다면 세션/쿠키를 모두 종료하고 index페이지(메인페이지)로 이동한다.

profile
꾸준히 성장하는 개발자

0개의 댓글