我在测试ASP.Net MVC 5站点(用于互联网站点)上使用基本登录。
登录工作正常,但是当我尝试注销时,它并没有发生。 注销链接会调用以下控制器操作:
public ActionResult LogOff()
{
AuthenticationManager.SignOut();
return RedirectToAction("Index", "Home");
}
但用户仍然保持登录状态。如何确保用户实际登出?
答案 0 :(得分:49)
之前我遇到过这个问题,请改变:
AuthenticationManager.SignOut();
要:
AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie);
假设您使用 ApplicationCookie 存储您的登录信息。
答案 1 :(得分:2)
更好的方式:
public ActionResult Logout()
{
SignInManager.AuthenticationManager.SignOut();
return RedirectToAction("Index", "support", new { area = "" });
}
或者您可以将注入的SignInManager注入您的控制器,如下所示:
public ActionResult Logout()
{
_signInManager.AuthenticationManager.SignOut();
return RedirectToAction("Index", "support", new { area = "" });
}
没有尊重。
答案 2 :(得分:-4)
我遇到了无法注销的问题。我会保持登录状态,只能重定向回主视图。我正在使用Chrome,我在firefox中试过它,即没有问题。然后我用chrome清除了我的饼干,一切正常。如果其他人遇到这个问题,这可能是一个快速而简单的第一步。