예제 #1
0
        public ActionResult Login(LoginModel model, string returnUrl)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    // Some code to validate and check authentication
                    if (!Membership.ValidateUser(model.Email, model.Password))
                    {
                        throw new Exception("Incorrect username or password");
                    }

                    AccountProfile account = AccountRepository.GetByEmail(model.Email);

                    UserData userData = new UserData
                    {
                        Name = account.Name,
                        AccountId = account.ExternalId,
                        Email = account.Email
                    };

                    Response.SetAuthCookie(account.ExternalId.ToString(), model.RememberMe, userData);

                    if (Url.IsLocalUrl(returnUrl))
                    {
                        return Redirect(returnUrl);
                    }
                    else
                    {
                        return RedirectToAction("Index", "Home");
                    }
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", "Имя пользователя или пароль указаны неверно.");
            }

            model.Password = "";
            return View(model);
        }
예제 #2
0
        public ActionResult Login(LoginModel model, string returnUrl)
        {
            if (ModelState.IsValid && WebSecurity.Login(model.Email, model.Password, persistCookie: model.RememberMe))
            {
                return RedirectToLocal(returnUrl);
            }

            // Появление этого сообщения означает наличие ошибки; повторное отображение формы
            ModelState.AddModelError("", "Имя пользователя или пароль указаны неверно.");
            return View(model);
        }