반응형
웹에서 로그아웃을 구현할 때 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 |