Beispiel #1
0
        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));
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        /// <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));
        }