Acredito que faltou no curso, algo que informe como deslogar o usuário do sistema. Como faço isso?
Acredito que faltou no curso, algo que informe como deslogar o usuário do sistema. Como faço isso?
Olá Henrique.
Uma forma de fazer isso é zerando os valores de Session que você atribui quando faz login. Não acompanhei ainda o curso de ASP.NET MVC 5 daqui, mas basicamente você pode pegar as sessions e atribuir valor nulo para elas. Provavelmente você sempre as verifica para manter o usuário em uma página que exige autenticação, caso contrário redireciona para a tela de login.
Usei o método abaixo e funcionou (achei na internet), não sei se é o ideal... Alguém pode validar?
public ActionResult LogOut()
{
Session.Abandon(); // it will clear the session at the end of request
return RedirectToAction("Login");
}
Usa esses em conjunto pra garantir:
[HttpPost]
public ActionResult LogOut()
{
FormsAuthentication.SignOut();
Session.Clear();
Session.RemoveAll();
Session.Abandon();
return RedirectToAction("Login");
}
Lembrando que para utilizar o FormsAuthentication, tem que ter implementado a interface IFormsAuthentication.
Tem uns métodos mais elaborados com limpeza de cookies também. Dê uma olhada: https://stackoverflow.com/questions/412300/formsauthentication-signout-does-not-log-the-user-out
Muito bom, obrigado Bruno!