From a2501631984540d5b5445ab22add6a3411e8d14e Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Thu, 16 Oct 2025 11:50:46 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=9D=83=E9=99=90=E6=9B=BF=E6=8D=A2?= =?UTF-8?q?=E4=B8=BAsa-token=E3=80=91=E6=9B=B4=E6=96=B0=E8=BF=81=E7=A7=BB?= =?UTF-8?q?=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jeecg-boot/SHIRO_TO_SATOKEN_迁移说明.md | 41 ------------------------- 1 file changed, 41 deletions(-) diff --git a/jeecg-boot/SHIRO_TO_SATOKEN_迁移说明.md b/jeecg-boot/SHIRO_TO_SATOKEN_迁移说明.md index a4660f2d7..7d9d0d21a 100644 --- a/jeecg-boot/SHIRO_TO_SATOKEN_迁移说明.md +++ b/jeecg-boot/SHIRO_TO_SATOKEN_迁移说明.md @@ -297,47 +297,6 @@ private void clearRolePermissionCache(String roleId) { **结果:** 权限变更立即生效,用户无需重新登录。 ---- - -## ❓ 5. 常见问题 - -### Q1: WebSocket/积木报表提示 "token 无效" - -**原因:** token 通过 URL 参数传递时,Filter 未正确切换登录会话。 - -**解决:** 确认 Filter 配置中包含 `StpUtil.switchTo(loginId)`(见 2.3 节) - ---- - -### Q2: 修改用户信息后,Session 数据没有更新 - -**解决方案:** -1. **强制用户重新登录:** `StpUtil.logout(username)` -2. **手动更新 Session:** `LoginUserUtils.setSessionUser(updatedUser);` -3. **重新执行登录:** `LoginUserUtils.doLogin(updatedUser);`(会覆盖旧Session) - ---- - -### Q3: 权限校验每次都查询数据库,性能很差 - -**原因:** `StpInterface` 未实现缓存(Sa-Token 默认不提供缓存)。 - -**解决:** 参照 2.2 节实现手动缓存逻辑,使用 `SaManager.getSaTokenDao()` 进行缓存操作。 - ---- - -### Q4: 清理 Redis 中的旧 Session 数据 - -**场景:** 升级后可能出现反序列化错误(如 `InvalidTypeIdException`)。 - -**解决:** -```bash -# 方法1: 清除所有 Sa-Token Session(推荐) -redis-cli --scan --pattern "satoken:login:session:*" | xargs redis-cli del - -# 方法2: 清空整个 Redis 数据库(谨慎!) -redis-cli FLUSHDB -``` ## ✅ 6. 测试清单