ASP.NET MVC realmente logoff com autenticação de formulários
-
25-09-2019 - |
Pergunta
Eu tenho uma ação de logoff em um controlador como assim:
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();
}
No entanto, x, y, a e b, são verdadeiros. Então, quando minha visão se renderiza, ela ainda se comporta como se o usuário estivesse conectado. Alguém pode fornecer uma solução e/ou explicação?
Solução
FormsAuthentication.SignOut()
Remove o cookie de autenticação, então você precisa redirecioná -lo depois dele, em vez de devolver uma visualização para que o cliente seja notificado:
public ActionResult Logoff()
{
FormsAuthentication.SignOut();
return RedirectToAction("Index");
}
Agora no Index
Ação O usuário não será mais autenticado.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow