我有一个MVC应用程序,我必须注销.要从应用程序注销,我在te母版页上创建了一个链接
[ <a id="A2" name="lnkLogout" href="http://localhost:1234/Home/LogOut" >Logout</a> ]
Run Code Online (Sandbox Code Playgroud)
并在控制器页面中创建了LoutOut操作
public ActionResult LogOut()
{
Session.Clear();
Session.Abandon();
Redirect("http://AnotherApplicaton/Home/LogOut");
}
Run Code Online (Sandbox Code Playgroud)
现在,当我单击LogOut链接时,它会重定向到LogOut操作,并在LogOut操作中删除所有会话,但是当我单击浏览器的后退按钮时,它会返回上一页并且会话仍处于活动状态.有没有人有这个问题的解决方案.
nWo*_*orx 16
如果您正在使用表单身份验证,那么这就是您要寻找的...
public ActionResult LogOut()
{
Session.Clear();
FormsAuthentication.SignOut();
Redirect("http://AnotherApplicaton/Home/LogOut");
}
Run Code Online (Sandbox Code Playgroud)
心连心
您在浏览器中访问的页面将根据浏览器中的缓存设置进行缓存.您需要阻止ASP.net MVC中的缓存,以便浏览器不缓存它们.执行此操作后,请尝试清除浏览器缓存并尝试再次加载页面.注销并尝试后退按钮.您应该收到一条消息,指出该页面已不再存在或其他内容.
有许多方法可以防止您的ASP.net页面在浏览器中缓存.一种方法是在呈现页面之前执行此操作.
this.Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1))
this.Response.Cache.SetCacheability(HttpCacheability.NoCache)
this.Response.Cache.SetNoStore()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32632 次 |
| 最近记录: |