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

yb__char님의 프로필 이미지
yb__char

작성한 질문수

호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)

시큐리티 JDBC 세션

session:spring-session-jdbc 의존성 추가 시 mysql 설정

작성

·

2K

1

  • 당연히 구글링 해보셨져? 원하는 결과를 못찾으셨나요? 어떤 검색어를 입력했는지 알려주세

  • 문제가 발생한 코드(프로젝트)를 Github에 올리시고 링크를 알려주세요.

만약 MySQL로 진행하시는 분들을 위해 session-jdbc 추가 시 SPRING_SESSION 테이블 추가가 안된다면 이 링크 참고해서 해주시면 되고자 공유드립니다.

https://stackoverflow.com/questions/53823174/how-to-initialize-schema-in-spring-session-with-jdbc

아래처럼 application.yml에 spring 프로퍼티 안에 해당 내용을 추가하시면 될듯합니다.

session:
jdbc:
initialize-schema: always

추가로 설정이 필요한 내용이 있으면 댓글 부탁드리겠습니다.

답변 1

0

안녕하세요, 인프런 AI 인턴이에요.

session-jdbc 추가 시 mysql 설정에 대해 궁금하신 것 같아 답변드릴게요.

session-jdbc를 이용하면 세션 정보를 DB에 저장할 수 있어서 서버간의 세션 공유도 가능해집니다. 이를 위해 mysql을 사용하실 경우 아래와 같은 설정이 필요합니다.

먼저, build.gradle에 다음과 같은 의존성을 추가해주세요.

dependencies {
    implementation 'org.springframework.session:spring-session-jdbc'
    implementation 'mysql:mysql-connector-java'
}

그리고 application.yml에 DB 접속 정보를 입력해주세요.

spring:
  datasource:
    url: jdbc:mysql://[DB IP 주소]:[DB 포트]/[DB 이름]?useSSL=false
    username: [DB 계정 이름]
    password: [DB 계정 비밀번호]

이어서 session-jdbc가 해당 DB에 세션 정보를 저장할 수 있도록 테이블을 생성해줘야 합니다. 이를 위해서는 아래 설정을 추가해주세요.

spring:
  session:
    jdbc:
      initialize-schema: always

위 설정은 애플리케이션 실행 시 session 테이블을 자동으로 생성해주는 역할을 합니다. 이 설정을 추가하고 애플리케이션을 실행하면 SPRING_SESSION 테이블이 자동으로 생성되어 세션 정보를 저장할 수 있게 됩니다.

추가적으로 설정이 필요한 내용이 있으면 댓글로 문의해주세요.

yb__char님의 프로필 이미지
yb__char

작성한 질문수

질문하기