我需要知道如何在注销时清除会话,MVC 4 asp.net
我已经尝试了几乎所有的事情,但都是徒劳的。
[AllowAnonymous]
public ActionResult SignOut()
{
Response.AddHeader("Cache-Control", "no-cache, no-store,must-revalidate");
Response.AddHeader("Pragma", "no-cache");
Response.AddHeader("Expires", "0");
Session.Abandon();
Session.Clear();
Response.Cookies.Clear();
Session.RemoveAll();
Session["Login"] = null;
return RedirectToAction("Index", "Login");
}
Run Code Online (Sandbox Code Playgroud)
Session.Clear();
Session.Abandon(); 在注销等时
清除 cookie
设置会话为空
但是当我点击浏览器的后退按钮时。它重定向到同一个帐户。请帮助我,当我单击注销按钮时,我将如何清除会话变量。我一个一个地尝试了上面的每一个,然后在组中,但结果相同。
小智 1
当您单击浏览器后退按钮时,它会从缓存而不是从服务器获取页面。但用户将无法在后退按钮后显示的页面上执行任何操作。
如果您仍然希望页面不显示,您应该删除缓存。这是一个最佳实践。这是代码。(写入Global.asax.cs文件中)
protected void Application_BeginRequest()
{
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetExpires(DateTime.UtcNow.AddHours(-1));
Response.Cache.SetNoStore();
}
Run Code Online (Sandbox Code Playgroud)
编写此代码后,用户在按后退按钮后将看不到上一页。
上面为了明确Session对象而编写的代码是正确的。不需要改变任何东西。
| 归档时间: |
|
| 查看次数: |
15444 次 |
| 最近记录: |