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

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

123123님의 프로필 이미지

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

로그인 처리하기 - 서블릿 HTTP 세션1

스프링부트 재기동 이후에도 세션이 유지되는 이유

작성

·

200

0

안녕하세요, 개인 프로젝트를 하는데,

로그인 상태에서 서버를 재기동해도 로그인이 풀리지 않습니다. 이것이 문제라기 보다는 이 현상이 발생한 이유를 알고 싶습니다.

세션 관련해서 아무 설정을 한 것이 없어서 왜 이런 현상이 나타나는지 질문드립니다.

서버가 세션 저장소를 기본 저장소인 톰캣 메모리가 아니고, 다른 곳을 사용하는 건 아닌가 추측을 하는데요.

이 외에 의심해 볼 만한 부분이나, 현재 서버가 세션 저장소를 어디를 쓰고 있는지 알 수 있는 방법 알려주시면 감사하겠습니다.

답변 1

0

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

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

서버 재기동 후에도 세션이 유지되는 현상에 대해 궁금하신 것 같습니다. 일반적으로, 스프링 부트와 톰캣은 서버를 재시작하면 세션이 초기화됩니다. 그러나 세션이 유지되는 경우는 다른 세션 저장소를 사용하는 경우일 수 있습니다.

기본적으로 스프링 부트에서 톰캣의 메모리 세션을 사용하지만, 외부 세션 클러스터링이나 Redis, 데이터베이스 같은 다른 저장소를 설정할 수 있습니다. 이런 저장소를 사용할 경우, 서버가 재시작되어도 세션이 유지될 수 있습니다.

현재 서버가 어떤 세션 저장소를 사용하는지 확인하려면, 다음과 같은 방법을 시도해 볼 수 있습니다.

  1. application.properties 또는 application.yml 파일 확인:

    • spring.session.store-type 속성이나 spring.redis 관련 설정이 있는지 체크하세요. 이 설정은 세션 저장소를 결정합니다.
  2. 의존성 확인:

    • 프로젝트에 spring-session이나 spring-boot-starter-data-redis 같은 의존성이 추가되어 있는지 확인합니다.

다음과 같은 유사한 질문이 있었으며, 이 답변이 도움이 될 수 있을 것입니다:

위 링크를 통해 특정 상황에서 왜 세션이 유지되는지, 그리고 세션 저장소에 대한 추가적인 정보와 설정 방법을 참고하실 수 있습니다.

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

123123님의 프로필 이미지

작성한 질문수

질문하기