刷新负载重定向注销

本文关键字:注销 重定向 负载 刷新 | 更新日期: 2023-09-27 18:14:44

我有一个asp.net mvc应用程序。我有一个身份验证表单:所以我使用了一个静态类,它包含一个静态布尔值,指示用户的连接:

 public static class CompteModels
    {
        private static bool connected = false;
        public static bool Connected
        {
            get { return CompteModels.connected; }
            set { CompteModels.connected = value; }
        }
    }
在控制器中,我有这样的代码片段:
 public ActionResult Index()
        {
            if (Upload.Models.CompteModels.Connected)
            {
                return View();
            }
            else return RedirectToAction("Login", "Account");
        }
        public ActionResult Logout()
        {
            Upload.Models.CompteModels.Connected = false;
            return RedirectToAction("Login", "Account");

        }

问题是:当我登录到我的帐户,然后我退出,如果我做了come back to the previous page我的帐户页面重新打开(重定向到主页没有工作)
除了刷新页面。问题是什么,我如何纠正我的代码?

刷新负载重定向注销

"问题"是页面被缓存,而用户看到的是缓存的页面。它实际上并没有向您的站点发出请求。如果你不想让你的任何网站缓存,他们总是从服务器加载页面你可以添加以下属性到你的所有控制器或你的基本控制器,如果你有一个:

[OutputCache(NoStore = true, Duration = 0)]

你失去了所有的带宽节省从缓存,但如果你的网站有高度敏感的数据,这可能是值得的。

我看到过其他的"黑客",涉及在每个页面加载ajax请求,如果它失败,由于没有被授权,它重定向到登录屏幕