import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import com.mtf.vega.util.Constants;
import com.mtf.vega.util.SecurityUtils;
import com.mtf.vega.util.SessionContext;
import com.mtf.vega.util.SessionInfo;
public class SessionInterceptor implements HandlerInterceptor {
private static final Log logger = LogFactory.getLog(SessionInterceptor.class);
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object object, Exception exception) throws Exception {
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object object, ModelAndView modelAndView) throws Exception {
}
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object object) throws Exception {
HttpSession session = SecurityUtils.getSession(request);
if (session != null) {
SessionInfo sessionInfo = (SessionInfo) session.getAttribute(Constants.SESSION_INFO);
if (sessionInfo != null) {
HttpSession hs = SessionContext.getInstance().getSession(session.getId());
if (hs == null) {
SessionContext.getInstance().addSession(session);
}
}
}
return true;
}
}