我正在使用以下代码行在注销后禁用浏览器后退按钮问题asp.net MVC4.
[OutputCache(NoStore = false, Duration = 0, VaryByParam = "None")]
public ActionResult Logout()
{
try
{
if (Session["username"] != null)
{
Session.Abandon();
Session.Clear();
Session.RemoveAll();
Session["username"] = null;
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetExpires(DateTime.UtcNow.AddHours(-1));
Response.Cache.SetNoStore();
return RedirectToAction("Index", "AdminPanel");
}
return RedirectToAction("Error", "Home");
}
catch (Exception e)
{
return RedirectToAction("Error", "Home");
}
}
但是,这段代码有一个问题,假设我有三个页面,第一个是登录页面(Index.cshtml)
,第二个页面是成功登录页面(home.cshtml)
,第三个页面是关于页面(about.cshtml)
,现在我登录然后它会在页面上重定向我,home.cshtml
因为我继续前进第三页 about.cshtml 之后我从about.cshtml
页面注销,它将我重定向到login.cshtml
页面上。现在,如果我单击浏览器后退按钮,然后about.cshtml
再次将我重定向到页面上,但用户无法更改或添加任何内容。所以让我知道是否有任何适当的代码或方法来解决这个问题。