강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

창신동 장첸님의 프로필 이미지
창신동 장첸

작성한 질문수

스프링 시큐리티

7) Remember Me 인증 필터 : RememberMeAuthenticationFilter

Session과 SecurityContext의 생명주기

작성

·

619

0

01:05

securityContext 안에 Authentication인증객체가 없는 경우

  • 30분이 지나 세션이 만료된 경우

  • 브라우저를 종료하여 세션쿠키가 없어진 경우

위 두 가지 경우 아래와 같은 순서로 정리해도 될까요?

  1. 세션id로 세션객체를 찾을 수 없는 상황에 놓이게 됩니다.

  2. 그에 따라 세션 안에 저장된 securityContext 또한 찾을 수 없다.

  3. 2의 이유로 securityContext안에 있는 인증객체를 찾을 수 없다

이 정리가 모두 맞다면,

세션과 securityContext는 항상 생명주기를 같이하는 관계인지도 궁금합니다

답변 1

0

정수원님의 프로필 이미지
정수원
지식공유자

정리하신 내용은 모두 맞습니다.

그러나 세션과 securityContext 의 생명주기는 같지 않습니다.

SecurityContext 는 세션에 저장되는 일반 객체일 뿐입니다.

비록 세션이 무효화 되면 SecurityContext 를 참조할 수 없게 되어 다시 인증을 받게 되는 상황이 오게 되지만 정책상 세션을 전혀 사용하지 않는 경우도 있기 때문에 SecurityContext 를 세션과 반드시 주기를 같이 하는 관계의 개념이 아닌 세션을 사용하는 경우에는 세션안에 저장되어 인증상태를 계속 유지한다라고 개념을 이해하시는 것이 좋습니다.

SecurityContext 는 그 자체로서의 의미가 있기 보다는 SecurityContext 안에 Authentication 객체가 존재하는지가 더 중요하다고 볼 수 있습니다.

창신동 장첸님의 프로필 이미지
창신동 장첸

작성한 질문수

질문하기