我有一个 Wicket (6.0) 应用程序。有一个 LoginPage 和一个 OverviewPage。LoginPage 包含一个表单,用户可以在其中进行身份验证。身份验证后,用户被重定向到 OverviewPage。
LoginPage 的一个特殊之处如下:
public void isUserLoggedIn() {
if (getSession().isSignedIn()) {
setResponsePage(new OverviewPage());
}
}
如果用户正确登录并想进入 LoginPage,他将被自动重定向到 OverviePage。
我尝试了这个并在浏览器栏中输入了 url, "http://anyserver/login/"
正如我所料,我将被重定向到 OverviewPage。
但是,我的问题是:如果我登录 (LoginPage),我将被重定向到 OverviewPage。如果我按下浏览器的后退按钮,我将被重定向到 LoginPage?!但为什么?直接 url 像预期的那样工作,但后退按钮不是。
我还添加了以下内容:
response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "no-cache, max-age=0, must-revalidate, no-store");
所以有一个新的要求。我已经用 FireBug 检查过了。
但是 LoginPage 的逻辑只有在有人输入 url 时才会执行。后退按钮不执行逻辑。
有任何想法吗?