public async Task <ActionResult> Login(LocalLoginVM vm) { var result = await _auth.LocalLoginAsync(vm); if (result.Status == LoginStatus.Succeeded) { return(RedirectToAction("Index", "Home", new { area = "Front" })); } return(await ViewLoginFormAsync(result.Status)); }
public async Task <ActionResult> Login(LocalLoginVM vm) { var result = await _auth.LocalLoginAsync(vm); if (result.Status == LoginStatus.Succeeded) { return(RedirectLocal(vm.ReturnUrl)); } return(await ViewLoginFormAsync(result.Status)); }
/// <summary> /// Attempts to authorize the user via local auth. /// </summary> public async Task <LoginResultVM> LocalLoginAsync(LocalLoginVM vm) { var email = vm.Login?.ToUpper(); var user = await _db.Users.FirstOrDefaultAsync(x => x.NormalizedEmail == email); if (user != null) { var info = await _signMgr.PasswordSignInAsync(user, vm.Password, isPersistent : true, lockoutOnFailure : true); if (info.Succeeded) { return(new LoginResultVM(LoginStatus.Succeeded)); } if (info.IsLockedOut) { return(new LoginResultVM(LoginStatus.LockedOut)); } } return(new LoginResultVM(LoginStatus.Failed)); }