/// <summary> /// 增加Account登录失败次数 /// </summary> /// <param name="account"></param> /// <param name="loginFailedMaxCount"></param> /// <param name="loginFailedTimeOut"></param> /// <returns></returns> public async Task <UserLoginFailedBucket> AddUserLoginFailedRecord(string account, int loginFailedMaxCount, int loginFailedTimeOut) { var key = new UserLoginFailedBucket().GetKeyFormat(account); var record = await _cacheProvider.Get <UserLoginFailedBucket>(key); if (record == null) { record = new UserLoginFailedBucket() { Account = account, FailedCount = 1 }; } else { if (record.FailedCount < loginFailedMaxCount) { record.FailedCount++; } else { record.ExpireAtTime = DateTime.Now.AddMinutes(loginFailedTimeOut); } } await _cacheProvider.Set(key, record, CacheConfig.TimeOutLoginFailed); return(record); }
/// <summary> /// 移除Account登录失败记录 /// </summary> /// <param name="account"></param> public async Task RemoveUserLoginFailedRecord(string account) { var key = new UserLoginFailedBucket().GetKeyFormat(account); await _cacheProvider.Remove(key); }