【问题标题】:Page redirection after logout in mvc在mvc中注销后页面重定向
【发布时间】:2014-12-23 05:59:58
【问题描述】:

我正在关注这个帖子 Session of the user in mvc 。我的要求是,当用户从 asp.net mvc 应用程序注销并且单击后退按钮时,不应将其重定向到上一页。用户应保留在登录页面上。我已经尝试了上述线程的注销代码,如下所示。

public ActionResult LogOut()
        {
            FormsAuthentication.SignOut();
            Session.Abandon(); // it will clear the session at the end of request
            return RedirectToAction("Login", "User");
        }

【问题讨论】:

标签: asp.net-mvc


【解决方案1】:
[Authorize]
public class HomeController: Controller
{

    public ActionResult YourTable()
    {
        return View();
    }

}

在你的控制器中使用 Authorize

另一种方法是:禁用整个应用程序的缓存

参考这个:After logout if browser back button press then it go back last screen

【讨论】:

  • @baktrack : 使用 [Authorize] 在 iis HTTP 错误 401.0 中给我以下错误 - 未经授权 您无权查看此目录或页面。
  • 是的,因为您没有登录。授权将允许您访问控制器,当且仅当您登录时(授权用户),否则您不能
  • 但是我有一个控制器,用于登录和注销操作方法。所以,为了让我登录,我必须使用我写过 Authorize 的同一个控制器
  • 对于登录删除授权标头
  • 您必须仅对那些私有页面使用 Authorize 标头(这意味着当且仅当他们登录时,ppl 才能看到这些页面/访问它)
【解决方案2】:
<li class="nav-item login border-0"><a asp-action="Logout" asp-controller="Home" onclick="clearAll();"> <i class="fas fa-sign-in-alt"></i> تسجيل خروج</a></li>

public ActionResult LogOut()
{
    HttpContext.Session.Clear();
    return RedirectToAction("Index", "Home");
}

如果你想从浏览器中删除令牌:

function clearAll() {
   window.localStorage.clear();
}

【讨论】:

    猜你喜欢
    • 2012-10-04
    • 2014-01-04
    • 1970-01-01
    • 2014-05-01
    • 2020-04-16
    • 1970-01-01
    • 1970-01-01
    • 2011-10-29
    • 1970-01-01
    相关资源
    最近更新 更多