ETC/22년. 스프링부트 수업

[게시판-스프링] 로그아웃

zzerou 2022. 1. 22. 18:08

 

내가 가능했던 코드를 기록하기. 

 

이 기능을 구현하기 위해서 나도 다른 곳에서 찾아보곤 했다.

로그아웃의 기능을 구현하기 위해서는 로그인으로 인해 생긴 "세션"을 없애는 작업을 하면 된다고 한다.


코드
@RequestMapping(value = "logoutAf.do", method = RequestMethod.GET)
	public String logoutAf(HttpSession session){
		logger.info("MemberController logoutAF() " + new Date());
		session.invalidate();
		
		return "redirect:/hello.do";
	}

로그인된 화면에서 "로그아웃"을 눌렀을 때, 위의 코드를 사용했다.

데이터 베이스까지 이동하지 않고 Controller에서 세션을 지워주었다.

여기서 사용된 객체인 

invalidate()

직역하면 "무효화하다"라는 뜻을 가진다. 실제로도 로그아웃을 할때 위에서는 세션을 지워준다고 이야기했지만, 실제로는 사용된 세션을 무효화되는 것이라 실제로는 남아있다고 한다.

 

참고 자료 : https://blog.naver.com/zino1187/110025698379