liuyun
|
78e537fa73
|
feat(rbac): 用户-角色分配 + 权限码下发接口
- users: GET/PUT /users/:id/roles(事务化替换 + 过滤无效角色 + 清权限缓存)
- auth: GET /auth/permissions 返回 {super, permissions}
- permissions/seed: 新增 user:assign-role 权限码与资源
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-10-11 16:19:11 +08:00 |
|
liuyun
|
489d7232e3
|
feat: user list search + current-user menu tree endpoint
- GET /auth/menus:当前用户菜单树(超管全量,非超管按角色 + 补祖先)
- 用户列表支持 username/nickname/phone/status 过滤(ListUserQuery)
- seed:菜单补图标、新增「权限管理」顶级分组(用户/角色/资源/组织),dashboard path 修正为 /
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-10-11 12:19:42 +08:00 |
|
liuyun
|
7340658305
|
feat: enforce RBAC, audit/login logging, and seed script
收口 Phase 0 三处「声明未生效」:
- 三级鉴权落地:权限集存 Redis(key 前缀隔离多项目),@RequirePermissions 挂到全部受控接口,super_admin 角色绕过权限码与 data_scope
- 审计/登录日志自动落库:@AuditLog 装饰器 + 拦截器异步写入(写操作+登录登出),登录成功/失败均记 login_log(脱敏)
- seed 脚本:一键初始化租户 touyun/用户 touyun/超管 super_admin/全量资源树(48 资源全量授权)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-10-10 23:19:41 +08:00 |
|
liuyun
|
d8d3055c73
|
feat: backend foundation (Prisma 6 + MySQL, auth, tenant/soft-delete/data-scope filters, core CRUD)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-10-10 21:13:35 +08:00 |
|