【问题标题】:ASP.NET logout and back button in browser show view浏览器显示视图中的 ASP.NET 注销和后退按钮
【发布时间】:2018-01-11 13:57:47
【问题描述】:

我有 Web 应用程序并制作了登录模块,现在当我注销并单击浏览器中的后退按钮时,我会看到只有在登录后才能访问的视图。 我怎样才能防止这种情况发生?

我使用身份进行授权。在 IE 中它可以工作,但在 Firefox 和 Chrome 中不工作。 注销代码:

[HttpPost]
[ValidateAntiForgeryToken]
public virtual ActionResult SignOut()
{

     AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie);
     return RedirectToAction(MVC.Login.Login.SignIn());
}

【问题讨论】:

标签: asp.net asp.net-mvc asp.net-identity


【解决方案1】:

使用Authorize 属性装饰您的控制器/操作方法,如下所示

    [HttpPost]
    [Authorize]
    [ValidateAntiForgeryToken]
    public virtual ActionResult SignOut()
    {
        AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie);
        return RedirectToAction(MVC.Login.Login.SignIn());
    }

【讨论】:

  • 谢谢,但是这个属性并没有改变我的问题:(
  • 在您不想在没有登录的情况下显示视图的所有操作方法中应用此属性。
  • 我有 [Authorize] 公共部分类 NewsController :控制器,当我注销时,我仍然在此控制器中看到视图
  • 我认为这是默认行为。但是,当您在注销后单击返回按钮并尝试访问任何元素(如单击按钮)时,您将重定向到登录页面。这是默认行为
  • @UbiquitousDevelopers 是的,但我不想要这种行为。当我点击后退按钮时,我不想看到这个视图只重定向到登录页面。
猜你喜欢
  • 2015-04-21
  • 2012-07-09
  • 1970-01-01
  • 2020-02-16
  • 1970-01-01
  • 2022-01-09
  • 2017-01-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多