コード例 #1
0
        // Using return Url, to take user back to page, where he wanted to go
        public ActionResult Index(LoginModel model, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                LogManager logManager = new LogManager(db);
                UserManager userManger = new UserManager(db);
                string password = userManger.GetUserPassword(model);
                if (string.IsNullOrEmpty(password))
                {
                    ModelState.AddModelError("", "The user login or password provided is incorrect.");
                }
                else if (model.Password.Equals(password))
                {
                    FormsAuthentication.SetAuthCookie(model.Username, false);
                    logManager.LogSuccessfulLogin(model.Username);

                    // redirects the user to page, where he wanted to go
                    if (!string.IsNullOrWhiteSpace(returnUrl))
                    {
                        return Redirect(returnUrl);
                    }

                    return RedirectToAction("Index", "Home");
                }
                else
                {
                    logManager.LogUnSuccessfulLogin(model.Username);
                    ModelState.AddModelError("", "The password provided is incorrect.");
                }

                logManager.LogUnSuccessfulLogin(model.Username);
                ModelState.AddModelError("", "Bad login attempt");
            }

            return View(model);
        }