Я работаю над веб-приложением Java, разработанным с использованием Spring MVC-Hibernate. Приложение отлично работает при развертывании на Glassfish-3.1.2 и Tomcat-6/7. Однако, когда приложение развернуто в AppFog (приложение для размещения веб-сайтов), оно не может удерживать сеанс, т. е. пользователь входит в приложение, но когда он щелкает любую ссылку, он перенаправляется обратно на страница входа.
Это происходит потому, что я создал перехватчик (SessionInterceptor) для проверки сеанса пользователя при каждом запросе, который перенаправляет приложение на страницу входа в случае истечения срока действия сеанса. Ниже приведен код, который я написал в методе preHandle() моего класса SessionInterceptor:
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
HttpSession session = request.getSession();
if(!(handler instanceof HomeController || handler instanceof ForgetPasswordController)) {
if(session.getAttribute("user") == null) {
response.sendRedirect(request.getContextPath()+"/"+redirectMapping+"?msg=e");
return false;
} else {
return true;
}
} else {
return true;
}
}
Я понятия не имею, почему это происходит в AppFog. Любая помощь с благодарностью. Заранее спасибо!