필요성
- 사용자가 웹 사이트를 떠나거나 일정 시간 동안 아무런 활동을 하지 않을 때 세션을 자동으로 종료시켜 보안을 강화하고 서버 리소스를 효율적으로 관리할 수 있음 → 일정 시간이 지나면 자동 로그아웃
- 세션은 서버의 메모리에 저장되는데 별도의 타임 아웃 설정 없이 무한정 보관하게 되면 메모리 초과로 인하여 서버에 과부하가 올 수 있음
- 유저의 세션을 해커가 탈취했을 때 서버쪽에서 해당 유저의 세션이 살아있다면 악의적인 접근 및 공격이 가능함
적용 방법
- HTTP Session은 기본 생명 주기가 30분
- application.properties에서 다음 설정을 입력
※ 두 속성 모두 기본 단위는 초(s)이며 m(분), h(시) 입력 가능
server.servlet.session.timeout=5s
server.servlet.session.cookie.max-age=5s
- server.servlet.session.timeout = 서버가 세션을 유지하는 시간 지정
- server.servlet.session.cookie.max-age = 클라이언트가 해당 세션 쿠키를 유지하는 시간 지정
※ 두 속성의 값이 서로 같도록 입력해야 함 → 세션의 서버 측 타임아웃과 클라이언트 측 쿠키의 최대 수명을 동일하게 유지하여 일관성 있게 세션을 관리하기 위함
'Spring' 카테고리의 다른 글
SseEmitter (1) | 2024.04.29 |
---|---|
Spring Data Redis (0) | 2024.04.18 |
JDBC와 DB 연동 (0) | 2024.03.19 |
https 통신 방법 (SSL 인증서) (1) | 2024.02.14 |
The import org.springframework cannot be resolved 에러 (Gradle) (0) | 2024.02.12 |
댓글