我已经使用下面的链接来结束会话。如何注销asp.net中的当前用户mvc
http://pure-essence.net/2010/02/14/jquery-session-timeout-countdown/
在我能够重定向到登录页面。但用户没有注销。只是它是 重定向到该页面。但它没有注销。如何在这种情况下注销会话。任何帮助表示赞赏。
我已经使用下面的链接来结束会话。如何注销asp.net中的当前用户mvc
http://pure-essence.net/2010/02/14/jquery-session-timeout-countdown/
在我能够重定向到登录页面。但用户没有注销。只是它是 重定向到该页面。但它没有注销。如何在这种情况下注销会话。任何帮助表示赞赏。
答案很简单:使用FormsAuthentication.SignOut();
长的答案
public ActionResult LogOff()
{
FormsAuthentication.SignOut();
return RedirectToAction("Login", "Account");
}
private ActionResult RedirectToLocal(string returnUrl)
{
if (Url.IsLocalUrl(returnUrl))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Index", "Home");
}
}
使用[Authorize]
您不希望用户在注销后执行的操作之上。您可以通过单独在上面的操作中添加此属性或使用[Authorize]
标记整个类,以便所有方法现在只能由经过身份验证的用户访问。
希望这会有所帮助。
AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie);
这应该在更新的版本中工作。
我应该在哪里调用'FormsAuthentication.SignOut();' – Jonathan
在您想要结束用户会话的位置调用它。 – Yasser
在登录页面控制器 – Jonathan