package com.jetddo.study.interceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
@Component
public class SessionInterceptor implements HandlerInterceptor {
private static final Logger logger = LoggerFactory.getLogger(SessionInterceptor.class);
public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
Object handler) throws Exception {
HttpSession session = request.getSession(false);
if(session != null && session.getAttribute("SPRING_SECURITY_CONTEXT") != null
&& session.getAttribute("sessionVo") == null){
session.invalidate();
logger.info("[sessionVo] has EXPIRED !!!");
response.sendRedirect(request.getContextPath());
return false;
}
return true;
}
public void postHandle(HttpServletRequest request, HttpServletResponse response,
Object handler, ModelAndView modelAndView) throws Exception {
}
public void afterCompletion(HttpServletRequest request, HttpServletResponse response,
Object handler, Exception ex) throws Exception {
}
}
2013년 9월 9일 월요일
Session 관리 2
다른 버전도 올리자
이전 소스에서는 restful 형식의 url에 촛점을 맞추느라 일반화가 안되어있다.
그래서 그냥 초기화면으로 돌아가게 하는 식으로 만들어봤다.
피드 구독하기:
댓글 (Atom)
댓글 없음:
댓글 쓰기