관심쟁이 영호

[ADYB] Spring Boot ㅣ 로그아웃 구현하기 ㅣ 세션 만료시키기 본문

Project/ADYB - 쇼핑몰

[ADYB] Spring Boot ㅣ 로그아웃 구현하기 ㅣ 세션 만료시키기

관심쟁이 영호 2021. 8. 3. 15:49
반응형

오늘은 로그아웃을 구현할 것이다.

 

내용이 작기때문에 목차따윈 없다!

 


세션 만료시키기

 

세션을 만료하는 방법은 많다. 나느 그 중에서 HttpSession 클래스에 구현되어있는 invalidate 메소드를 이용할 것이다.

 

상황 : "로그아웃" 버튼을 클릭할 시, 즉시 세션을 파괴하고 홈으로 리다이렉트한다!

 

컨트롤러부터 생성해보자.

 

LogOutController.java

@Controller
public class LogOutController {

    @GetMapping("/logout")
    public String logout(HttpServletRequest request){

        HttpSession session = request.getSession(false);
        if (session != null) {
            session.invalidate();
        }
        return "redirect:/";
    }
};

다음과 같이 구성하였다.

 

코드 설명:

  1. 사용자의 request로 부터 Session을 얻는다.
  2. Session을 null check 해준다.
  3. Session이 null이 아닐 경우 (세션이 있다.) 세션을 만료시킨다. null일 경우 아무 작업을 하지 않는다.
  4. 홈으로 리다이렉트 해준다.

 

정상적으로 세션이 없어진 것을 볼 수 있다.

300x250
Comments