Как правильно аннулировать сеанс JSP?

Итак, вот в чем проблема. Когда пользователь выходит из моего веб-сайта, он все равно может нажать кнопку «Назад» и продолжить использование сайта. Чтобы отслеживать, вошел ли пользователь в систему или нет, я создал атрибут сеанса 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");

Тег внутри заголовка:

<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">

Спасибо

9
задан Petar Minchev 9 September 2012 в 08:13
поделиться