Подтвердить что ты не робот

ASP.NET MVC действительно отключается с помощью проверки подлинности с помощью форм

У меня есть действие выхода на контроллер как таковое:

    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, все верно. Поэтому, когда мое представление отображается, оно по-прежнему ведет себя так, как будто пользователь вошел в систему. Может ли кто-нибудь предоставить решение и/или объяснение?

4b9b3361

Ответ 1

FormsAuthentication.SignOut() удаляет файл cookie аутентификации, поэтому вам нужно перенаправить его, вместо того, чтобы возвращать представление, чтобы клиент был уведомлен:

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

Теперь в действии Index пользователь больше не будет аутентифицирован.