示例#1
0
        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);
        }
示例#2
0
 public virtual ActionResult Login(string returnUrl)
 {
     var model = new LoginViewModel();
     ViewBag.ReturnUrl = returnUrl;
     return View(model);
 }