fix(auth): align lockout check ordering

This commit is contained in:
mlogclub
2026-04-30 17:57:28 +08:00
parent 9d74df5b37
commit 34e27dffca
2 changed files with 10 additions and 6 deletions
+3 -6
View File
@@ -86,15 +86,12 @@ func (s *authService) Login(req request.LoginRequest, authCfg config.AuthConfig,
return nil, errorsx.InvalidParam("用户名和密码不能为空")
}
user := UserService.GetByUsername(username)
if s.isCredentialLocked(username, authCfg) {
userID := int64(0)
if user != nil {
userID = user.ID
}
_ = s.createLoginCredentialLog(username, userID, false, clientIP, userAgent, "credential locked")
_ = s.createLoginCredentialLog(username, 0, false, clientIP, userAgent, "credential locked")
return nil, errorsx.CredentialLocked("登录失败次数过多,请稍后再试")
}
user := UserService.GetByUsername(username)
if user == nil || user.Status != enums.StatusOk {
_ = s.createLoginCredentialLog(username, 0, false, clientIP, userAgent, "user not found")
return nil, errorsx.InvalidAccount("用户名或密码错误")