初始化

This commit is contained in:
zg
2026-07-15 16:13:27 +08:00
parent 6d6f559793
commit c4023c1623
276 changed files with 42622 additions and 0 deletions

View File

@@ -0,0 +1,51 @@
---
name: session-20260620-2
description: 2026-06-20 第2次会话 — 修复TokenAuthFilter Redis Key前缀遗漏导致登录后Token找不到会话
metadata:
type: session
date: 2026-06-20
sessionNumber: 2
startTime: 2026-06-20T10:45:00+08:00
endTime: 2026-06-20T10:55:00+08:00
---
# 2026-06-20 第2次会话
## 会话摘要
修复 TokenAuthFilter 中 Redis Key 缺少 `GATEWAY:` 前缀的 bug。上次会话给 RedisUtil 加了统一前缀机制后Auth/Admin 服务都改为使用 `RedisUtil.key()` 生成 key但 Gateway 的 TokenAuthFilter 被遗漏,导致登录后 Token 校验时找不到 Redis 会话。
## 关键操作
### TokenAuthFilter Redis Key 前缀修复
- **做了什么**: `TokenAuthFilter.java` 中两处 Redis key 改为 `RedisUtil.key("auth:token:" + tokenId)``RedisUtil.key("open:token:" + tokenId)`
- **原因**: 上次会话session-1引入 `RedisUtil.KEY_PREFIX = "GATEWAY:"``key()` 方法后Auth 服务写入 key 是 `GATEWAY:auth:token:xxx`,但 Gateway 读取时直接拼 `"auth:token:" + tokenId`(无前缀),导致永远找不到。这是一个重构遗漏 bug。
- **结果**: 修复后 Gateway 正确使用 `RedisUtil.key()` 生成带前缀的 key与 Auth/Admin 服务写入的 key 一致
- **涉及文件**: `TokenAuthFilter.java` (第115行和第183行)
### 问题诊断过程
- **日志现象**: `Token 对应 Redis 会话不存在 - tokenId: 43a705df-fdc7-4b97-b5eb-605d3c081897`
- **数据流追踪**:
1. 登录 → Auth 服务写入 `GATEWAY:auth:token:43a705df-...`
2. 校验 → Gateway 查找 `auth:token:43a705df-...` ✗ (缺少 GATEWAY: 前缀)
- **根因**: `RedisUtil.key()` 自动添加 `GATEWAY:` 前缀,但 TokenAuthFilter 没使用此方法
## 重要信息
- Redis 前缀机制详情见 [[session-20260620-1]] 的 "Redis Key 加统一前缀 GATEWAY:" 章节
- Auth 服务(9001)、Admin 服务(9002)、Gateway(9000) 三个服务共享同一个 Redis 实例
- 所有 Redis key 操作都必须通过 `RedisUtil.key()` 方法,不能直接拼字符串
## 待处理
- [x] 重新编译部署 Gateway 服务使修复生效 (10:54 已部署到 10.1.1.170 Docker 容器 mokeegateway-mokee-gateway-gateway)
- [ ] 验证登录后 Token 校验正常通过(用户自行测试)
## 部署记录
- **服务器**: 10.1.1.170(内网)
- **容器名**: mokeegateway-mokee-gateway-gateway
- **容器 ID**: 09bc559da896
- **镜像**: harbor.zgitm.com/mokee/mokee-mokeegateway-mokee-gateway-gateway:v78.20260620102948
- **部署方式**: SCP JAR → docker cp 替换 /app/app.jar → docker restart
- **启动耗时**: 约 5.5 秒
- **部署时间**: 2026-06-20 10:54
## 新规则
- **部署 170 须用户授权**: 后续没有用户明确要求,不能擅自部署到 10.1.1.170(生产环境)。[[deploy-approval-required]]