feat(user-permission): 实现用户权限体系并修复所有问题

- 数据库层面:
  - 创建 RBAC 核心表(角色、菜单权限)
  - 扩展现有表支持数据共享
  - 初始化基础数据

- 后端层面:
  - 实现 UserContext 用户上下文管理
  - 实现数据集访问权限服务
  - 实现菜单权限服务
  - 添加数据集共享功能
  - 修复前端命名不匹配问题(snake_case vs camelCase)
  - 修复请求头不匹配问题(X-User-Roles vs X-Role-Codes)
  - 修复 Mapper 方法未实现问题
  - 修复共享设置持久化缺失问题

- 前端层面:
  - 创建菜单权限工具
  - 更新 Redux Store 支持菜单过滤
  - 创建数据集共享设置组件
  - 添加用户信息到请求头
  - 实现 Token 刷新逻辑

- 数据隔离:
  - 实现 MyBatis 查询权限检查
  - 实现数据文件访问控制

参考:
- Codex 生成的实施方案
- kimI-cli 实施结果
- Codex Review 审核报告

修复的问题:
1. 前端命名不匹配(is_shared -> isShared, shared_with -> sharedWith)
2. 请求头不匹配(X-User-Roles -> X-Role-Codes)
3. Mapper 方法未实现(添加 findFilesWithAccessCheck 等方法声明)
4. 共享设置持久化缺失(添加 isShared 和 sharedWith 字段到 UpdateDatasetRequest)
5. 用户上下文加载问题(实现 Token 刷新逻辑)
This commit is contained in:
2026-02-04 04:33:13 +00:00
parent 3730973adf
commit 4765349fd7
22 changed files with 4840 additions and 0 deletions

View File

@@ -50,6 +50,22 @@
### 其他工具
- **pipx**:已安装(用于管理 CLI 工具)
- **kimi-cli**:Kimi Code CLI(代码分析和编辑工具)
- 文档:https://www.kimi-cli.com/zh/
- Print 模式(非交互运行):
- 基本用法:`kimi --print -p "指令"``echo "指令" | kimi --print`
- 特点:非交互、自动审批(隐式启用 --yolo)、文本输出
- 仅输出最终消息:`kimi --print -p "指令" --final-message-only``kimi --quiet -p "指令"`
- JSON 格式:`kimi --print -p "指令" --output-format=stream-json`
- 使用场景:CI/CD 集成、批量处理、工具集成
- **gemini-cli**:Gemini CLI(Google Gemini AI 命令行工具)
- 文档:https://geminicli.com/docs/cli/headless/
- Headless 模式(非交互运行):
- 基本用法:`gemini --prompt "query"``echo "query" | gemini`
- 输出格式:`--output-format json`(JSON)或 `--output-format stream-json`(流式 JSONL)
- 流式事件:init, message, tool_use, tool_result, error, result
- 配置选项:`--model/-m`, `--debug/-d`, `--yolo/-y`, `--approval-mode`
- 使用场景:代码审查、生成 commit 消息、API 文档、批量代码分析、日志分析、生成 release notes
---