2014-12-11 5 views
-1

У меня есть страница входа в JSP для конкретного приложения с сеансом. Когда я выхожу из системы, я хочу перенаправить его на мою страницу входа и завершить сеанс. Так что, когда человек, использующий приложение, нажимает кнопку «Назад», мои предыдущие транзакции не видны. Я не хочу отключать кнопку «Назад». Я новичок в JSP. Может ли кто-нибудь помочь мне с этим?Завершение сеанса в JSP

+0

вы можете использовать эту ссылку [http://www.javaworld.com/article/2072937/java-web-development/solving-the-logout-problem-properly-and-elegantly.html) –

ответ

0

Я предполагаю, что вы уже проверяете, что определенная переменная сеанса существует на ваших защищенных страницах. Таким образом, в основном, чтобы войти пользователю, что Вы просто должны аннулировать сессию и сделать серверный редирект:

session.invalidate(); 
response.sendRedirect("loginform_url"); 
return; 

Но вам необходимо также установить заголовки кэш-управления на защищаемых страницах, чтобы предотвратить браузер от кэширования защищенные страницы. В противном случае пользователь может снова перейти на эти страницы и увидеть кэшированную версию, несмотря на то, что ее вышли из системы.

response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0"); 
response.setHeader("Pragma","no-cache"); 
response.setDateHeader("Expires", 0); 
+0

Или использовать фильтр, который проверяет, есть ли зарегистрированный пользователь и имеет авторизованный доступ к этим представлениям. –

0

Это как моя страница выхода демо выглядит:

<h2> You have logged out. </h2> 
<h2>To login again</h2> <a href="Login.jsp"><b>Login</b></a> 
<%if(session!=null) { 
session.invalidate(); 
session.removeAttribute("user"); 
} %> 

Но это, кажется, не поможет!

Смежные вопросы