web-dev-qa-db-fra.com

ASP.Net MVC 5 avec identité 2.2.0 La déconnexion ne fonctionne pas

J'utilise une connexion de base sur un site de test ASP.Net MVC 5 (pour un site Internet).

La connexion fonctionne correctement, mais lorsque j'essaie de me déconnecter, cela ne se produit pas. Le lien de déconnexion appelle l'action de contrôleur suivante:

public ActionResult LogOff()
{
    AuthenticationManager.SignOut();
    return RedirectToAction("Index", "Home");
}

Mais l'utilisateur reste connecté. Comment puis-je m'assurer que l'utilisateur est effectivement déconnecté?

36
John S

J'ai eu ce problème avant, changez:

AuthenticationManager.SignOut();

À:

AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie);

En supposant que vous utilisez ApplicationCookie pour stocker vos informations de connexion.

49
Ashley Medway

Meilleure façon :

public ActionResult Logout()
{
    SignInManager.AuthenticationManager.SignOut();
    return RedirectToAction("Index", "support", new { area = "" });
}

ou vous pouvez utiliser SignInManager injecté dans votre contrôleur comme ceci:

public ActionResult Logout()
{
    _signInManager.AuthenticationManager.SignOut();
    return RedirectToAction("Index", "support", new { area = "" });
}

il n'y a aucune déférence.

2
Hatef.