我有一个控制器上的注销动作像这样:

    public ActionResult Logoff()
    {
        var x = Request.IsAuthenticated;
        var y = User.Identity.IsAuthenticated;

        FormsAuthentication.SignOut();
        Session.Abandon();

        var a = Request.IsAuthenticated;
        var b = User.Identity.IsAuthenticated;

        return View();
    }

但是,X,Y,a和b,都是真实的。所以,当我的观点呈现,但仍表现为,如果用户登录。有人可以提供解决方案和/或解释?

有帮助吗?

解决方案

FormsAuthentication.SignOut()移除认证Cookie,所以需要后它重定向返回的视图,以便客户端被通知,而不是:

public ActionResult Logoff()
{
    FormsAuthentication.SignOut();
    return RedirectToAction("Index");
}

现在在Index操作的用户将不再进行认证。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top