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

hklee0724님의 프로필 이미지
hklee0724

작성한 질문수

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

로그인 처리하기 - 세션 직접 만들기

세션 타임아웃 설정이 안됩니다.

해결된 질문

작성

·

1.9K

0

안녕하세요.

로그인 처리1 마지막 부분 세션 타임아웃 설정부분.
pdf 41page가 안됩니다.

application.properties 파일에서
server.servlet.session.timeout=10

이렇게 해보기도 하고

SessionInfoController에서
session.setMaxInactiveInterval(10);

이렇게 해보아도 타임아웃이 되지 않습니다.
제가 기대하는 것은 10초 뒤에는 세션아웃이 되어서 로그인이 필요한 페이지에 접근이 않되는 것인데요.
제가 잘못이해하거나 설정이 안된 부분이 있다면 알려주시면 감사하겠습니다.

제가 작성한 프로젝트는 여기에 올렸습니다.

https://drive.google.com/file/d/1q1VbFHc21BpUgeTIjCvCd5WmXW-abwHm/view?usp=share_link

답변 1

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. hklee0724님

1분 이하의 세션 타임아웃은 적용이 잘 안되더라구요.

보통 분 단위로 사용해서 이 부분이 일반적으로 문제가 되지는 않는데요. 왜 이렇게 동작하는지는 저도 정확하게는 잘 모르겠습니다. 혹시 아시는 분 있으면 답변 부탁드려요.

감사합니다.

hklee0724님의 프로필 이미지
hklee0724
질문자

김영한님 직접 답변해 주셔서 너무 감사드립니다.
덕분에 1분이상은 세션아웃이 된다는 것을 알게 되었습니다.

제가 시도는 하지 않았지만 아래 방법으로 문제를 해결할 수 있다고 하네요.
1. Tomcat에서는 context.xml 파일에서 세션 타임아웃을 설정할 수 있다고 하네요. 이 경우에는 Spring Boot의 설정이 무시된다고 합니다.
(그런데 context.xml이 어디에 있는지 몰라서 그만 두었습니다. ^^)

2. 세션 관련 타임아수을 변경하는 코드가 있다면 설정사항이 무시될 수 있을 가능성.
이게 있다고는 하는데 제가 프로젝트에서 그런코드가 있는지 검색해 보았는데 찾지는 못했습니다.
Ctrl+Shift+F로 검색해보았습니다.

3. 세션관련 라이브러리 충돌?
버전이 올바르지 않으면 충돌이 일어나 문제가 될 수 있다는 정보를 검색했는데요.
이것도 어떻게 조합을 해야 할지 몰라서 Skip했습니다.

아무튼 세션 아웃이 안되는 것도 아니고 초단위로 세밀하게 컨트롤 할 일이 아직까지 없고 현재 버전의 문제일 수도 있을 것 같아 다음에 알아볼까합니다.
하지만 주신 답변으로 문제를 해결했습니다.
감사합니다.

hklee0724님의 프로필 이미지
hklee0724

작성한 질문수

질문하기