This commit is contained in:
2026-07-15 21:44:13 +08:00
parent 024b6614ba
commit 4794be896c
22 changed files with 1041 additions and 74 deletions

View File

@@ -8,23 +8,27 @@ import (
"hyapi-server/internal/domains/user/entities"
"hyapi-server/internal/domains/user/repositories"
securityEntities "hyapi-server/internal/domains/security/entities"
securityServices "hyapi-server/internal/domains/security/services"
)
// UserAuthService 用户认证领域服务
// 负责用户认证相关的业务逻辑,包括密码验证、登录状态管理等
type UserAuthService struct {
userRepo repositories.UserRepository
logger *zap.Logger
userRepo repositories.UserRepository
blacklist *securityServices.BlacklistService
logger *zap.Logger
}
// NewUserAuthService 创建用户认证领域服务
func NewUserAuthService(
userRepo repositories.UserRepository,
blacklist *securityServices.BlacklistService,
logger *zap.Logger,
) *UserAuthService {
return &UserAuthService{
userRepo: userRepo,
logger: logger,
userRepo: userRepo,
blacklist: blacklist,
logger: logger,
}
}
@@ -35,6 +39,17 @@ func (s *UserAuthService) ValidatePassword(ctx context.Context, phone, password
return nil, fmt.Errorf("用户名或密码错误")
}
if user.IsOnBlacklist() {
if s.blacklist != nil {
s.blacklist.RecordHit(&securityEntities.BlacklistHitRecord{
HitType: securityEntities.HitTypeUserLogin,
UserID: user.ID,
Phone: user.Phone,
Reason: user.BlacklistReason,
})
}
return nil, fmt.Errorf("账号已被列入黑名单,无法登录")
}
if !user.CanLogin() {
return nil, fmt.Errorf("用户状态异常,无法登录")
}
@@ -54,6 +69,17 @@ func (s *UserAuthService) ValidateUserLogin(ctx context.Context, phone string) (
return nil, fmt.Errorf("用户不存在")
}
if user.IsOnBlacklist() {
if s.blacklist != nil {
s.blacklist.RecordHit(&securityEntities.BlacklistHitRecord{
HitType: securityEntities.HitTypeUserLogin,
UserID: user.ID,
Phone: user.Phone,
Reason: user.BlacklistReason,
})
}
return nil, fmt.Errorf("账号已被列入黑名单,无法登录")
}
if !user.CanLogin() {
return nil, fmt.Errorf("用户状态异常,无法登录")
}