Spring Session JDBC란?
Spring Session JDBC는 Spring 애플리케이션에서 세션 관리를 데이터베이스를 이용해 수행할 수 있도록 지원하는 라이브러리이다.
기본적으로 HTTP 세션은 서버의 메모리에 저장되지만, Spring Session JDBC를 사용하면 세션을 데이터베이스에 저장하여 여러 가지 이점을 얻을 수 있다.
Spring Session JDBC 의존성 추가
// 스프링 Session JDBC
implementation 'org.springframework.session:spring-session-jdbc'
Spring Session 동작 확인
현재 나는 application.yaml 설정 파일에 h2 데이터베이스 관련 설정을 해두었다.
이렇게 세션 관련 테이블이 자동으로 생성되어 있는 걸 확인할 수 있다.
Spring Session JDBC의 공식 문서에서는 Spring Session이 사용하는 테이블 생성에 필요한 SQL 스크립트를 제공한다.
https://docs.spring.io/spring-session/reference/configuration/jdbc.html
JDBC :: Spring Session
At times, it is useful to be able to customize the SQL queries executed by Spring Session JDBC. There are scenarios where there may be concurrent modifications to the session or its attributes in the database, for example, a request might want to insert an
docs.spring.io
로그인 결과
세션 만료일, 세션 생성 시간, 최근 접속 시간 등.. 여러 가지 정보가 데이터베이스에 저장되는 걸 확인할 수 있다.
세션 만료시간 변경(1800 → 3600(1시간))
spring:
session:
timeout: 3600
쿠키 만료시간 변경
server:
servlet:
session:
cookie:
max-age: 3600
'Spring > Spring Security' 카테고리의 다른 글
[Spring Security] UserDetailsService (0) | 2024.09.02 |
---|---|
[Spring Security] Remember Me (0) | 2024.09.02 |
[Spring Security] 시큐리티 폼 로그인 커스텀 설정 (0) | 2024.09.02 |
CSRF? + Spring Security 기본 설정 (4) | 2024.08.29 |
비밀번호 암호화 적용하기(Spring Security Crypto) (0) | 2024.08.29 |