【发布时间】:2018-08-03 07:06:46
【问题描述】:
我正在研究 MVC 应用程序的注销方法,但遇到了问题。 每次我注销时,应用程序都会检查用户身份验证并将其返回到登录页面。
注销方法:
[HttpGet]
[CustomAuthorize]
public ActionResult Logout()
{
//Response.Cache.SetExpires(DateTime.Now);
FormsAuthentication.SignOut();
Session.Clear();
Session.Abandon();
Session.RemoveAll();
return RedirectToAction("Index", "Home");
}
登录后使用的页面都有[CustomAuthorize]属性。
使用 MS Edge 浏览器,如果我单击“后退”按钮,程序会执行 CustomAuthorize 方法,如果用户已注销,它只会按预期将用户返回到登录页面。
但是,如果我使用任何其他浏览器(Chrome、Firefox),按“后退”按钮只会返回到我按“注销”按钮的上一页,甚至无需通过 CustomAuthorize 来检查授权。
这可能是什么原因以及解决此问题的可能解决方案是什么?
如果需要更多信息,请告诉我。
谢谢。
贾斯塔斯
【问题讨论】:
-
当您按下返回按钮时,页面正在从缓存中呈现。它不会通过您的
CustomAuthorize -
@AmitKumar 那么为什么它不是 MS Edge 的问题,它通过
CustomAuthorize呢?
标签: c# asp.net model-view-controller logout back-button