parent
6734c05949
commit
bd23fac669
@ -0,0 +1,92 @@
|
||||
/*
|
||||
* Copyright 2008-2009 MOPAS(MINISTRY OF SECURITY AND PUBLIC ADMINISTRATION).
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
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…
Reference in New Issue