1

我有一个带有 MVC 4 + WebAPI 的 .net 4.5 应用程序,我面临着一个我不知道如何解释/解决的情况。

我的注销代码如下:

public ActionResult SignOut()
{
    FormsAuthentication.SignOut();
    return Redirect("~");
} 

不知何故,这可以按预期工作(未针对黑客场景进行验证)。

但是,如果我执行以下操作:

public ActionResult SignOut() {
{
    FormsAuthentication.SignOut();
    return Redirect("~/?logout=true");
}

它似乎仍然有效,但是,如果用户点击 chrome(或退格)上的后退导航按钮,他会返回登录页面!

  1. 为什么会这样?
  2. 有没有其他方法可以将参数传递给 Redirect 调用?
4

1 回答 1

0

你能确认你看到的页面不是缓存版本吗?按 Shift-F5 并查看页面是否刷新,或者您是否被重定向到登录页面。如果是这种情况,您可以使用缓存设置来确保用户无法返回页面。

于 2015-02-04T00:18:25.637 回答