如何在播放框架中注销后阻止用户返回上一个安全页面?

时间:2013-10-04 07:30:07

标签: java html playframework playframework-2.0 playframework-2.1

我正在使用java框架开发一个简单的Web应用程序,我正在做

  1. 登录
  2. 注销
  3. 用户信息页
  4. 我开发了这个网络应用程序,但我遇到了问题

    问题

    点击我的网络应用的logout链接后,我将重定向到login页面,但如果用户点击浏览器的后退按钮,则会返回安全页面我不想要的。

    也使用session但在注销时我正在调用控制器

    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方法但仍然无法正常工作

    给我一​​些解决这个问题的想法?

1 个答案:

答案 0 :(得分:-1)

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