From bb7c79b9817cec9d13c3ef15818eaa5cdaa43c81 Mon Sep 17 00:00:00 2001 From: liuyun Date: Sun, 11 Oct 2026 16:29:19 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E5=AE=A1=E8=AE=A1=E6=B8=85=E5=8D=95=20?= =?UTF-8?q?H8/M21=20=E5=AE=8C=E6=88=90=20+=20guide=20=E4=BF=AE=E6=AD=A3=20?= =?UTF-8?q?JWT=5FSECRET?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 --- docs/audit-checklist.md | 4 ++-- docs/guide.md | 12 ++++++++---- sources/sysmgr-admin | 2 +- sources/sysmgr-nest | 2 +- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/docs/audit-checklist.md b/docs/audit-checklist.md index 5a38cd5..0695ddd 100644 --- a/docs/audit-checklist.md +++ b/docs/audit-checklist.md @@ -29,8 +29,8 @@ - [x] **H7** 用户-角色分配缺失 —— 无端点/DTO/UI。✔ 已完成:`GET/PUT /users/:id/roles` + DTO + 前端分配角色表单 + 用户页入口 - [x] **H9** 按钮级权限未实现 —— 无下发接口/指令,导出按钮不存在。✔ 核心已完成:`/auth/permissions` 下发 + permission store + `v-permission` 指令 + ty-crud 权限过滤 + 用户页导出演示(role/audit/login-log 3 个导出按钮为同模式,待补) - [x] **M18** 前端无路由级权限过滤 + 403 页 —— ✔ 已完成:路由守卫按可访问菜单 path 过滤 + 403 页(/403) -- [ ] **M21** 数据权限覆盖面过窄 —— 仅用户列表。方案:扩展至角色/组织/日志等域 -- [ ] **H8** 注册/忘记密码是假功能 —— mock 假成功。方案:补真实后端闭环 +- [x] **M21** 数据权限覆盖面过窄 —— 仅用户列表。✔ 已完成(方案 A):组织树按可见部门过滤 + 审计/登录日志按操作人部门过滤;角色/字典/配置保持租户级 +- [x] **H8** 注册/忘记密码是假功能 —— mock 假成功。✔ 已完成:注册真实化(POST /auth/register),注册/忘记密码默认隐藏(showRegister/showForgetPassword=false,fork 可开启) - [ ] **M17** 租户 onboarding 断裂 —— 新建租户不可用、删除留孤儿。方案:建租户初始化管理员+根组织+资源/字典模板 - [ ] **新增** 用户自助修改密码/个人资料 —— 缺失清单。方案:补端点 + 前端个人中心 diff --git a/docs/guide.md b/docs/guide.md index e794b85..3c04a7d 100644 --- a/docs/guide.md +++ b/docs/guide.md @@ -11,7 +11,7 @@ | 功能块 | 说明 | |---|---| -| **认证** | 登录 / 注册 / 忘记密码 / 登出;JWT(access 2h + refresh 7d),401 自动刷新 | +| **认证** | 登录 / 登出;JWT(access 2h + refresh 7d),401 自动刷新;注册/忘记密码默认隐藏(`showRegister`/`showForgetPassword` 可开启) | | **权限管理** | 用户(增删改/重置密码/启停/锁定)、角色(分配资源 + 数据权限)、资源(菜单/按钮/接口统一资源树)、组织(部门树) | | **系统管理** | 租户、字典(类型 + 项,支持内置保护)、参数配置(键值) | | **系统监控** | 操作日志、登录日志(只读查询) | @@ -55,9 +55,13 @@ pnpm install ```env DATABASE_URL="mysql://root:密码@127.0.0.1:3306/sysmgr" -REDIS_URL="redis://127.0.0.1:6379" -JWT_ACCESS_SECRET="..." -JWT_REFRESH_SECRET="..." +REDIS_HOST="127.0.0.1" +REDIS_PORT=6379 +REDIS_DB=0 +REDIS_KEY_PREFIX="sysmgr:" +JWT_SECRET="请替换为强密钥(生产至少 32 位)" +JWT_ACCESS_TTL=7200 +JWT_REFRESH_TTL=604800 PORT=3000 ``` diff --git a/sources/sysmgr-admin b/sources/sysmgr-admin index 84edbc6..23da579 160000 --- a/sources/sysmgr-admin +++ b/sources/sysmgr-admin @@ -1 +1 @@ -Subproject commit 84edbc67c0ba07e66bf346820c23008b76f1f209 +Subproject commit 23da579b2646236ed2767e4bf6b0feabec5cce6f diff --git a/sources/sysmgr-nest b/sources/sysmgr-nest index 78e537f..53dbc38 160000 --- a/sources/sysmgr-nest +++ b/sources/sysmgr-nest @@ -1 +1 @@ -Subproject commit 78e537fa7307d650be27f2f27b8ecf409663ae54 +Subproject commit 53dbc38bab31b717003fc438ec9ea579ce69b56c