Я пытаюсь использовать функцию выхода из системы, предоставляемую Spring security.
Выход работает нормально. Сеанс становится недействительным (путем вызова метода logout в SecurityContextLogoutHandler классе). Пользователь перенаправлен на страницу входа.
Однако, когда я нажимаю кнопку «Назад», я вижу приведенный ниже код с действительным идентификатором сеанса.
req.getRequestedSessionId () имеет значение НЕ ноль. A Новый сеанс создан.
if (req.getRequestedSessionId() != null &&
!req.isRequestedSessionIdValid())
{
chain.doFilter(request, response);
return;
}
У нас также есть следующий код в LogoutFilter .
HttpServletResponse resp = (HttpServletResponse) res;
resp.setHeader("Expires", "Tue, 03 Jul 2001 06:00:00 GMT");
resp.setHeader("Last-Modified", new Date().toString());
resp.setHeader("Cache-Control", "no-store, no-cache,
must-revalidate, max-age=0,
post-check=0, pre-check=0");
resp.setHeader("Pragma", "no-cache");
Это какая-то проблема с браузером? Я что-то упустил?