Package com.bytedesk.core.redis
Class RedisLoginRetryService
java.lang.Object
com.bytedesk.core.redis.RedisLoginRetryService
登录重试次数限制和账户锁定的Redis服务
专门处理用户登录失败重试、账户锁定等安全相关功能
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescription -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid批量清理过期的登录失败记录 用于定期清理,避免Redis内存占用过多longgetLockRemainingTime(String username) 获取用户锁定剩余时间intgetLoginFailedCount(String username) 获取用户登录失败次数getLoginRetryStats(String username) 获取用户登录状态统计信息intincrementLoginFailedCount(String username, long ttl) 增加用户登录失败次数booleanisUserLocked(String username) 检查用户是否被锁定void锁定用户登录voidresetLoginFailedCount(String username) 重置用户登录失败次数voidunlockUser(String username) 解锁用户登录
-
Field Details
-
redisTemplate
-
-
Constructor Details
-
RedisLoginRetryService
public RedisLoginRetryService()
-
-
Method Details
-
getLoginFailedCount
获取用户登录失败次数- Parameters:
username- 用户名- Returns:
- 失败次数,如果不存在返回0
-
incrementLoginFailedCount
增加用户登录失败次数- Parameters:
username- 用户名ttl- 过期时间(秒)- Returns:
- 增加后的失败次数
-
resetLoginFailedCount
重置用户登录失败次数- Parameters:
username- 用户名
-
isUserLocked
检查用户是否被锁定- Parameters:
username- 用户名- Returns:
- true if locked, false otherwise
-
lockUser
锁定用户登录- Parameters:
username- 用户名ttl- 锁定时间(秒)
-
unlockUser
解锁用户登录- Parameters:
username- 用户名
-
getLockRemainingTime
获取用户锁定剩余时间- Parameters:
username- 用户名- Returns:
- 剩余锁定时间(秒),如果未锁定返回-1
-
cleanupExpiredRecords
public void cleanupExpiredRecords()批量清理过期的登录失败记录 用于定期清理,避免Redis内存占用过多 -
getLoginRetryStats
获取用户登录状态统计信息- Parameters:
username- 用户名- Returns:
- 包含失败次数和锁定状态的统计信息
-