/// <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.", }; })); }
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"); } }