ASP.NET MVC通过表单身份验证真正注销
我在控制器上有注销操作,因此:ASP.NET MVC通过表单身份验证真正注销,asp.net,asp.net-mvc,forms-authentication,logout,Asp.net,Asp.net Mvc,Forms Authentication,Logout,我在控制器上有注销操作,因此: public ActionResult Logoff() { var x = Request.IsAuthenticated; var y = User.Identity.IsAuthenticated; FormsAuthentication.SignOut(); Session.Abandon(); var a = Request.IsAuthenticated
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();
}
然而,x、y、a和b都是真的。因此,当呈现“我的视图”时,它的行为仍然像用户登录一样。有人能提供解决方案和/或解释吗?
FormsAuthentication.SignOut()
删除身份验证cookie,因此您需要在它之后重定向,而不是返回视图,以便通知客户端:
public ActionResult Logoff()
{
FormsAuthentication.SignOut();
return RedirectToAction("Index");
}
现在在
索引
操作中,用户将不再进行身份验证。Darin的右键。我有时会返回一个“return Redirect(FormsAuthentication.LoginUrl);”,它会将用户发送回您在web.config的身份验证区域中声明的登录页面。同样的事情真的。。。