Итак, вот в чем проблема. Когда пользователь выходит из моего веб-сайта, он все равно может нажать кнопку «Назад» и продолжить использование сайта. Чтобы отслеживать, вошел ли пользователь в систему или нет, я создал атрибут сеанса isActive. Атрибуту присваивается значение true, когда пользователь входит в систему, и он (избыточно) удаляется прямо перед тем, как сеанс становится недействительным при выходе из системы. Также на каждой странице я проверяю, присутствует ли атрибут.
Я также указываю, что страницы не должны кэшироваться в их тегах заголовка.
Несмотря на это, пользователи по-прежнему могут открывать браузер и продолжать использовать сайт, как если бы они никогда не выходили из системы.
Есть идеи, как это исправить?
Вот код:
Сервлет входа:
...
session.setAttribute("isActive", true);
//Redirect to home page.
Проверить JSP с входом в систему:
<c:if test='${empty sessionScope.isActive || sessionScope.isActive != true}'>
<c:redirect url="/index.jsp?message=Session Timed Out."/>
</c:if>
Сервлет выхода:
request.getSession().removeAttribute("isActive");
request.getSession().invalidate();
response.sendRedirect("index.jsp");
Тег Inside Head:
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Expires" content="Sat, 01 Dec 2001 00:00:00 GMT">
Спасибо