인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

최효재님의 프로필 이미지

작성한 질문수

스프링 시큐리티 완전 정복 [6.x 개정판]

동시 세션 제어 - sessionManagement().maximumSessions()

InvalidUrl과 expiredUrl이 동시에 설정되있을때 Invalid가 우선되는 이유

작성

·

64

0

강의를 듣다가 궁금해서 좀 찾아봤습니다(Perplxtiy에게 물어본거라 신뢰도가 100%는 아닙니다)

 

만료된 세션을 처리하려면 expiredUrl 설정이 필수여서 invalidUrl 설정 단독으로는 처리를 못한다고 합니다

 

그럼 2개가 다 설정되도 expiredUrl을 타는게 맞는것 같지만 Filter chain의 우선순위때문에 expiredUrl을 즉 만료된 세션을 invalidUrl로 간주하고 invalidUrl이 실행되는 것 같습니다

답변 1

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. 최효재님.

InvalidSessionUrl과 ExpiredUrl을 동시에 설정할 경우의 우선순위에 대한 궁금증을 갖고 계신 것 같네요. 우선 해당 기능들은 Spring Security의 세션 관리에서 자주 사용하는 설정입니다.

InvalidSessionUrl vs. ExpiredUrl

  • InvalidSessionUrl: 사용자가 유효하지 않은 세션으로 접근하려 할 때 리디렉션할 주소를 지정합니다. 이는 일반적으로 세션이 처음부터 유효하지 않거나 사용자가 세션 없이 페이지에 접근하려 할 때 적용됩니다.

  • ExpiredUrl: 사용자의 세션이 만료되었을 때, 즉 세션 타임아웃이 발생했을 때 리디렉션될 주소를 정의합니다.

Perplexity의 설명과 관련해서 FilterChain의 우선순위에 따라 InvalidSessionUrl이 먼저 실행될 수 있습니다. 이는 설정의 순서에 따라 다를 수 있으며, 두 URL 모두 설정된 경우 특정 요청 상황에 따라 하나가 우선처리될 수도 있습니다.

처리 로직

세션이 만료된 경우는 일반적으로 ExpiredUrl을 따르는 것이 맞습니다. 하지만, 설정에 따라 특정 필터가 우선적으로 작동하여 InvalidSessionUrl로 리디렉션이 일어날 수 있습니다. 이는 종종 설정의 의도나 구현 방식에 따라 달라질 수 있으므로, 프로젝트의 구체적인 설정을 확인해 보아야 합니다.

추천 답변 링크:
- invalidSessionUrl, expiredUrl 설정에 대한 Q&A에서는 비슷한 주제에 대한 답변이 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.