diff --git a/src/main/java/egovframework/com/cmm/filter/SessionTimeoutCookieFilter.java b/src/main/java/egovframework/com/cmm/filter/SessionTimeoutCookieFilter.java new file mode 100644 index 0000000..52ef156 --- /dev/null +++ b/src/main/java/egovframework/com/cmm/filter/SessionTimeoutCookieFilter.java @@ -0,0 +1,77 @@ +package egovframework.com.cmm.filter; + +import java.io.IOException; + +import javax.servlet.Filter; +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.Cookie; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** +* +* SessionTimeoutCookieFilter +* @author 공통컴포넌트 팀 신용호 +* @since 2020.06.17 +* @version 1.0 +* @see +* +*
+* << 개정이력(Modification Information) >>
+*
+* 수정일 수정자 수정내용
+* ---------- -------- ---------------------------
+* 2020.06.17 신용호 최초 생성
+*
+*/
+
+public class SessionTimeoutCookieFilter implements Filter{
+
+ @SuppressWarnings("unused")
+ private FilterConfig config;
+
+ public void doFilter(ServletRequest request, ServletResponse response,
+ FilterChain chain) throws IOException, ServletException {
+ HttpServletResponse httpResponse = (HttpServletResponse) response;
+ HttpServletRequest httpRequest = (HttpServletRequest) request;
+ long serverTime = System.currentTimeMillis();
+ long sessionExpireTime = serverTime + httpRequest.getSession().getMaxInactiveInterval() * 1000;
+ Cookie cookie = new Cookie("egovLatestServerTime", "" + serverTime);
+ boolean secure = request.isSecure();
+ if ( secure ) cookie.setSecure(true);
+ cookie.setHttpOnly(true);
+ cookie.setPath("/");
+ httpResponse.addCookie(cookie);
+ cookie = new Cookie("egovExpireSessionTime", "" + sessionExpireTime);
+ if ( secure ) cookie.setSecure(true);
+ cookie.setHttpOnly(true);
+ cookie.setPath("/");
+
+// Date dateServer = new java.util.Date(serverTime);
+// Date dateExpiry = new java.util.Date(sessionExpireTime);
+// SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+// String serverYMD = format.format(dateServer);
+// String expiryYMD = format.format(dateExpiry);
+ //System.out.println("=====>>> serverYMD = "+serverYMD);
+ //System.out.println("=====>>> expiryYMD = "+expiryYMD);
+ //System.out.println("=====>>> server TimeStamp = "+serverTime);
+ //System.out.println("=====>>> expire TimeStamp = "+sessionExpireTime);
+
+ httpResponse.addCookie(cookie);
+
+ chain.doFilter(request, response);
+ }
+
+ public void init(FilterConfig config) throws ServletException {
+ this.config = config;
+ }
+
+ public void destroy() {
+
+ }
+}