본문 바로가기
spring

유효 세션 확인 방법

by 신방동불주먹 2023. 2. 10.

웹에서 로그아웃을 구현할 때 session을 무효화상태로 바꾸는 방법을 사용

session.invalidate();

invalidate() 메소드를 사용하여 세션을 무효화 시킨 이후에 해당 세션이 유효한지를 검증하는 방법으로

 

session == null로 세션이 null인지를 비교하는 방법을 사용

 

하지만 session.invalidate()를 통해 세션을 무효화 시킨다고 해서 session이 null이 되는 것은 아님

 

직접 session을 출력해보거나 session.getId() 메소드를 통해서 ID값도 가져올 수 있움

 

하지만 session.isNew() 같은 메소드를 사용하면 아래와 같이 세션은 이미 무효화 상태라는 예외가 발생함

java.lang.IllegalStateException: isNew: Session already invalidated

따라서 세션이 유효한지 어떻게 알아보냐 request에 있는 메소드를 통해 확인하면 된다.

 

request.isRequestedSessionInvalid() 메소드는 세션이 request의 세션이 유효한 상태라면 true를 아니라면 false를 리턴한다

request.isRequestedSessionIdValid()

 

세션 검증은 코드

if (session == null || !request.isRequestedSessionIdValid()) {
    System.out.println("세션이 무효화 상태입니다.")
}

'spring' 카테고리의 다른 글

서버 재기동시 세션  (0) 2023.02.14
Mybatis쿼리문 다중 파라미터 사용  (0) 2023.02.11
@ResponseBody  (0) 2023.02.06
spring mapper update return type  (0) 2023.02.05
Ajax return 후 submit 막기  (0) 2023.02.04