Beispiel #1
0
        public ActionResult Login(Models.Login _login, bool captchaValid, string captchaErrorMessage)
        {
            if (Convert.ToInt32(Session["FailedLogins"]) > 3 && !captchaValid)
            {
                ModelState.AddModelError("captcha", "Въведете правилно думите от изображението");
            }

            if (ModelState.IsValid)
            {
                User_Account user = _login.IsValid();
                if (user != null)
                {
                    if (!user.Confirmed)
                    {
                        ModelState.AddModelError("userError", "Този потребителски акаунт не е потвърден. Изпратено е ново съобщение за потвърждение на посочения e-mail.");
                        EmailManager.SendConfirmationEmail(_login.UserName);
                        return(View(_login));
                    }
                    FormsAuthentication.SetAuthCookie(user.Username, _login.RememberMe);
                    Session.Contents.Remove("FailedLogins");
                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    ModelState.AddModelError("userError", "Въвели сте грешни данни!");
                }
            }

            if (Session["FailedLogins"] != null)
            {
                Session["FailedLogins"] = Convert.ToInt32(Session["FailedLogins"]) + 1;
            }
            else
            {
                Session["FailedLogins"] = 1;
            }

            return(View(_login));
        }