Pregunta

I tienen una acción de cierre de sesión en un controlador como así:

    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();
    }

Sin embargo, x, y, a, y b, son ciertas. Así que cuando mi vista hace, todavía se comporta como si el usuario está conectado. Por favor alguien puede proporcionar una solución y / o explicación?

¿Fue útil?

Solución

FormsAuthentication.SignOut() elimina la cookie de autenticación, por lo que necesita para redirigir después de que en lugar de devolver una vista para que el cliente se notifica:

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

Ahora en la acción Index ya no será autenticado el usuario.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top