feat: Session timeout filter 추가 적용

main
Jonguk. Lim 12 months ago
parent 5b118cddf2
commit 96361c65e4

@ -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
*
* <pre>
* << (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() {
}
}
Loading…
Cancel
Save