我是ASP.NET MVC的新手,并且想知道自动登录在表单身份验证场景中如何工作。
我开发了一个应用程序,该应用程序在登录时设置了cookie,并且用户经过身份验证后就可以访问该应用程序。但是,当他重新打开登录页面时,尽管并没有因此退出,但必须再次输入用户名和密码。基本上,他应该自动登录,因为cookie直到那时都没有过期。
较早的帖子中的某人评论说默认情况下应该可以正常工作。谁能解释一下?为什么对我不起作用?我正在使用ASP.NET MembershipProvider来实现登录机制。以下是登录方法-
[HttpPost]
[AllowAnonymous]
public void Login(LoginModel model, string returnUrl)
{
if (ModelState.IsValid && WebSecurity.Login(model.EMail, model.Password, persistCookie: model.RememberMe))
{
return;
}
ModelState.AddModelError("", "The user name or password provided is incorrect.");
return;
}
您可以检查用户是否已经通过身份验证并重定向
[HttpPost]
[AllowAnonymous]
public void Login(LoginModel model, string returnUrl)
{
if (User.Identity.IsAuthenticated)
return RedirectToAction(...);
if (ModelState.IsValid && WebSecurity.Login(model.EMail, model.Password, persistCookie: model.RememberMe))
{
return;
}
ModelState.AddModelError("", "The user name or password provided is incorrect.");
return;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句