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() {
+
+	}
+}