У меня есть страница входа (Index.jsp
), здесь пользователь вводит идентификатор пользователя и пароль. on submit LoginAuthentification.java
(класс действия), вызываемый и аутентифицирующий пользователя, но в соответствии с результатом в классе действий он возвращает JSP.После выхода из системы возврата/перезагрузки в Struts 2
<action name="login" class="com.struts2.LoginAuthentication"
method="execute">
<interceptor-ref name="clear-cache" />
<result name="manager">/ManagerView.jsp</result>
<result name="SSE" type="redirectAction">
<param name="actionName">viewPlan</param>
<param name="userID">${userID}</param>
</result>
<result name="input">/Index.jsp</result>
<result name="error">/error.jsp</result>
</action>
В этом случае возвращается ManagerView.jsp
. Теперь в этом JSP я добавил гиперссылку для logout
. и это делает ниже
<action name="logout" class="com.struts2.LoginAuthentication"
method="logout">
<interceptor-ref name="clear-cache" />
<result name="success">/Index.jsp</result>
<result name="error">/error.jsp</result>
</action>
кода из класса действий
public String logout() {
//if (session instanceof org.apache.struts2.dispatcher.SessionMap) {
session.clear();
//session.re
System.out.println("test");
session.remove("loggedInUser");
((org.apache.struts2.dispatcher.SessionMap) session).invalidate();
//}
return "success";
}
после выхода из системы он перенаправляется на Index.jsp
, теперь я нажал на кнопку назад Это отображение "confirm form resubmission"
сообщения в хроме и веб-страница истекла в IE. Но когда я перезагружаю страницу, он автоматически вводит в систему старого пользователя. Я добавил
<%
response.setHeader("Cache-control", "no-cache, no-store");
response.setHeader("Expires", "0");
response.setHeader("Vary", "*");
%>
в JSP, а также в перехватчика.
Я пытаюсь заблокировать автоматический вход в систему при перезагрузке.
Укажите, какую ошибку вы получаете/какую-то информацию, которая поможет экспертам лучше понять проблему. –