| | |
| | | @Slf4j |
| | | public class WebSocketAuthHandler { |
| | | |
| | | @Autowired |
| | | private TAppUserService appUserService; |
| | | |
| | | |
| | | @Autowired |
| | | private RedisCache redisCache; |
| | | |
| | |
| | | return AuthResult.failure("用户ID不能为空"); |
| | | } |
| | | |
| | | // 查询用户信息 |
| | | TAppUser appUser = appUserService.getById(appUserId); |
| | | if (appUser == null) { |
| | | return AuthResult.failure("用户不存在"); |
| | | } |
| | | |
| | | // 检查用户状态 |
| | | if (appUser.getStatus() == null || appUser.getStatus() != 1) { |
| | | return AuthResult.failure("用户已被禁用"); |
| | | } |
| | | |
| | | // 检查用户审核状态 |
| | | if (appUser.getState() == null || appUser.getState() != 1) { |
| | | return AuthResult.failure("用户未通过审核"); |
| | | } |
| | | |
| | | // 这里可以添加token验证逻辑 |
| | | if (token != null && !token.trim().isEmpty()) { |
| | | // 验证token的有效性 |
| | | if (!validateToken(appUserId, token)) { |
| | | return AuthResult.failure("认证令牌无效"); |
| | | } |
| | | } |
| | | |
| | | return AuthResult.success(appUser); |
| | | return AuthResult.success(); |
| | | } catch (Exception e) { |
| | | log.error("用户认证失败,用户ID: {}, 错误: {}", appUserId, e.getMessage(), e); |
| | | return AuthResult.failure("认证过程中发生错误: " + e.getMessage()); |