From 6cbfebcada8b005e601b16e500e67fb3846075c3 Mon Sep 17 00:00:00 2001
From: jhjang <jhjang@maprex.co.kr>
Date: 수, 10 11월 2021 15:59:08 +0900
Subject: [PATCH] - 세션 만료 시간 외부파일에서 설정할수 있도록 수정

---
 src/main/java/kr/wisestone/owl/config/SessionConfiguration.java |    5 +----
 src/main/java/kr/wisestone/owl/config/AppConfiguration.java     |   21 ++++++++++++++++++++-
 2 files changed, 21 insertions(+), 5 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/config/AppConfiguration.java b/src/main/java/kr/wisestone/owl/config/AppConfiguration.java
index 350bede..55af930 100644
--- a/src/main/java/kr/wisestone/owl/config/AppConfiguration.java
+++ b/src/main/java/kr/wisestone/owl/config/AppConfiguration.java
@@ -1,8 +1,15 @@
 package kr.wisestone.owl.config;
 
 import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.ApplicationEvent;
+import org.springframework.context.ApplicationListener;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.event.ContextRefreshedEvent;
+import org.springframework.session.data.redis.RedisOperationsSessionRepository;
+import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;
 
 /**
  * Created by jeong on 2017-08-01.
@@ -10,6 +17,18 @@
 @Configuration
 @ComponentScan(basePackages = "kr.wisestone.owl")
 @MapperScan(basePackages = "kr.wisestone.owl.mapper")
-public class AppConfiguration {
+@EnableRedisHttpSession
+public class AppConfiguration implements ApplicationListener {
+    @Value("${spring.session.timeout}")
+    private Integer maxInactiveIntervalInSeconds;
 
+    @Autowired
+    private RedisOperationsSessionRepository redisOperation;
+
+    @Override
+    public void onApplicationEvent(ApplicationEvent event) {
+        if (event instanceof ContextRefreshedEvent) {
+            redisOperation.setDefaultMaxInactiveInterval(maxInactiveIntervalInSeconds);
+        }
+    }
 }
diff --git a/src/main/java/kr/wisestone/owl/config/SessionConfiguration.java b/src/main/java/kr/wisestone/owl/config/SessionConfiguration.java
index 56d136b..dd28cc1 100644
--- a/src/main/java/kr/wisestone/owl/config/SessionConfiguration.java
+++ b/src/main/java/kr/wisestone/owl/config/SessionConfiguration.java
@@ -20,7 +20,7 @@
  * Created by jeong on 2019-02-28.
  */
 @Configuration
-@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 3600)
+@EnableRedisHttpSession
 public class SessionConfiguration extends AbstractHttpSessionApplicationInitializer {
     @Value("${redis.host}")
     private String redisHost;
@@ -67,7 +67,4 @@
         stringRedisTemplate.setValueSerializer(new Jackson2JsonRedisSerializer<>(String.class));
         return stringRedisTemplate;
     }
-
-
-
 }

--
Gitblit v1.8.0