Example #1
0
        /// <summary>
        /// 锁定一个用户
        /// </summary>
        /// <param name="token">管理员Token</param>
        /// <param name="userId">用户ID</param>
        /// <param name="lockoutTimeUtc">锁定截止日期(用UTC时间),如果要永久锁定,设为100年后就够了</param>
        /// <returns></returns>
        public async Task <ActionResponseResult> LockUser(string token, string userId, DateTime lockoutTimeUtc)
        {
            try
            {
                LockoutUserRequest request = new LockoutUserRequest()
                {
                    LockoutEndTimeUtc = lockoutTimeUtc,
                    UserId            = userId
                };
                var response = await this.TokenHttpPostAsync(token, "api/users/lockuser",
                                                             JObject.FromObject(request));

                if (response != null)
                {
                    return(JsonConvert.DeserializeObject <ActionResponseResult>(
                               response.ToString()));
                }

                return(null);
            }
            catch (Exception ex)
            {
                throw new AuthException("UserManager.LockUser exception", ex);
            }
        }
        public async Task <ActionResponseResult> LockUser([FromBody] LockoutUserRequest request)
        {
            return(await _userManager.FindByIdAsync(request.UserId)
                   .ContinueWith(
                       (userResult) =>
            {
                if (userResult.IsCompletedSuccessfully && userResult.Result != null)
                {
                    var res1 = _userManager.SetLockoutEnabledAsync(userResult.Result, true);
                    res1.Wait();
                    DateTimeOffset offset = new DateTimeOffset(request.LockoutEndTimeUtc);
                    //request.LockoutEndTimeUtc.Subtract(DateTime.UtcNow)
                    var res2 = _userManager.SetLockoutEndDateAsync(userResult.Result, offset);
                    res2.Wait();
                    return new ActionResponseResult()
                    {
                        Code = 200,
                    };
                }
                ;

                return new ActionResponseResult()
                {
                    Code = 403,
                    Message = "User does not exist.",
                };
            }));
        }
Example #3
0
        public async Task LockoutUser(LockoutUserRequest request)
        {
            var sqlStoredProc = "sp_user_lockout";

            var response = await DapperAdapter.GetFromStoredProcAsync <int>
                           (
                storedProcedureName : sqlStoredProc,
                parameters : request,
                dbconnectionString : DefaultConnectionString,
                sqltimeout : DefaultTimeOut,
                dbconnection : _connection,
                dbtransaction : _transaction);

            if (response == null || response.First() == 0)
            {
                throw new Exception("No items have been locked");
            }
        }