我正在使用 java 的 play 框架开发一个简单的 Web 应用程序,我正在做
- 登录
- 退出
- 用户信息页面
我开发了该网络应用程序,但我遇到了问题
问题:
点击我的网络应用程序的logout
链接后,我将重定向到login
页面,但如果用户单击浏览器的后退按钮,则会返回我不想要的安全页面。
还使用了 session
,但在注销时我正在调用 Controller :
public static void noCache(final Response response) {
response.setHeader("Cache-Control",
"no-cache, no-store, must-revalidate, max-age=0, post-check=0, pre-check=0"); // HTTP 1.1
response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
response.setHeader("EXPIRES", "0"); // Proxies
}
public static Result logou() {
session().clear();
flash("success", Messages.get("youve.been.logged.out"));
noCache(response());
return redirect(routes.signin.page());
}
注销链接:
<a href="@routes.signin.logou">Logout</a>
但它会返回并显示用户信息。
实际上,当用户单击后退按钮时,我的网络应用程序正在存储缓存,它正在调用缓存副本,这就是为什么我调用了 noCache
方法,但仍然无法正常工作
给我一些解决这个问题的想法吗?
最佳答案
Jsp页面添加代码
<%
response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setHeader("Cache-Control","no-store");
response.setDateHeader ("Expires", 0);
%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO- 8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
关于java - 如何防止用户在 Play 框架中注销后返回到之前的安全页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19175682/