Beispiel #1
0
        public SignInStatus SignIn(string userName, string password, bool rememberMe = false, bool shouldLockout = false)
        {
            SignInStatus result;
            var          userService = new UserService();
            var          user        = userService.FindByName(userName);

            if (user == null)
            {
                result = SignInStatus.Failure;  // 账户不存在
            }
            else if (user.IsLockedOut())
            {
                result = SignInStatus.LockedOut;   // 账户已锁定
            }
            else if (user.CheckPassword(password)) // 登录成功
            {
                return(SignInStatus.Success);
                //result = this.SignInOrTwoFactor(user, rememberMe);
            }
            else if (shouldLockout) // 密码不正确
            {
                userService.AccessFailed(user.Id);
                if (user.IsLockedOut()) // 账户已锁定
                {
                    result = SignInStatus.LockedOut;
                    return(result);
                }
            }
            result = SignInStatus.Failure;
            return(result);
        }