Пример #1
0
        public async Task <IActionResult> Login(LoginViewModel model, string returnUrl = null)
        {
            ViewData["ReturnUrl"] = returnUrl;
            if (ModelState.IsValid)
            {
                // This doesn't count login failures towards account lockout
                // To enable password failures to trigger account lockout, set lockoutOnFailure: true

                //var guestHelper = new GuestHelpers();
                var guestType = _PasswordHelpers.GetGuestTypeFromPassword(model.Password);

                var claims = new List <Claim>();

                if (guestType != GuestType.None)
                {
                    await _PasswordHelpers.WriteGuestTypeCookieAsync(guestType, claims, HttpContext);

                    return(RedirectToLocal(returnUrl));
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "Invalid login attempt.");
                    return(View());
                }
            }

            // If we got this far, something failed, redisplay form
            return(View());
        }