ASP.NET MVC veramente disconnettersi con autenticazione basata su form
-
25-09-2019 - |
Domanda
Ho un azione di disconnessione su un controller come:
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();
}
Tuttavia, x, y, a, e b, sono tutte vere. Così, quando mio avviso rende, si comporta ancora come se l'utente è connesso. Qualcuno può fornire una soluzione e / o spiegazione?
Soluzione
FormsAuthentication.SignOut()
rimuove il cookie di autenticazione, quindi è necessario reindirizzare dopo che invece di restituire la vista in modo che il cliente viene avvisato:
public ActionResult Logoff()
{
FormsAuthentication.SignOut();
return RedirectToAction("Index");
}
Ora nell'azione Index
l'utente non sarà più essere autenticato.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow