Exemple #1
0
        public async Task <IActionResult> Login(LoginViewModel model, string returnUrl = null)
        {
            //return RedirectToAction("Index", "Home");
            ViewData["ReturnUrl"] = returnUrl;

            if (ModelState.IsValid)
            {
                var a = "xyz";
            }
            // This doesn't count login failures towards account lockout
            // To enable password failures to trigger account lockout, set lockoutOnFailure: true
            var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, lockoutOnFailure : false);

            if (result.Succeeded)
            {
                if (_accountHelper.IsAccountActive(model.Email))
                {
                    _logger.LogInformation(1, "User logged in.");
                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    return(RedirectToAction("Unauthorized"));
                }

                //return AppUtils.SignIn(user, roles);
            }
            if (result.RequiresTwoFactor)
            {
                return(RedirectToAction(nameof(SendCode), new { RememberMe = model.RememberMe }));
            }
            if (result.IsLockedOut)
            {
                _logger.LogWarning(2, "User account locked out.");
                //return BadRequest("Lockout");
                ModelState.AddModelError(string.Empty, "User is locked out");
                return(View(model));
            }
            else
            {
                ModelState.AddModelError(string.Empty, "Username or password is incorrect");
                //return BadRequest(ModelState.GetModelErrors());
                return(View(model));
            }
        }