public virtual ActionResult Login(LoginViewModel model, string returnUrl)
{
if (ModelState.IsValid)
{
var result = new ExecutionResults();
var id = UserManager.AuthenticateUser(model.UserName, model.Password,
model.RememberMe ? UserSessionDurationType.Extended : UserSessionDurationType.PublicComputer,
Request.UserHostAddress, result);
if (id.IsAuthenticated && result.Success)
{ //login successful
SecurityContextManager.CurrentUser = new UserPrincipal(id);
return RedirectToLocal(returnUrl);
}
//failed business layer validations
for (var e = result.Messages.Count - 1; e >= 0; e--)
{
ModelState.AddModelError(e.ToString(CultureInfo.InvariantCulture), result.Messages[e].Message);
}
}
// failed data annotation validations
return View(model);
}