Files
TARE-Learn/slidev/pages/day1/m4-call-chain.md
T
smart 67837df8d0 docs: 更新TRA编程培训课程材料、课件与AI技能交付包
- 新增全套考试卷、评估卷、参考答案与考试培训包模板
- 修正slidev培训课件:调整模块标题、链路图缩放,替换工单示例为通用业务对象
- 修正课堂红线表述为证据红线,将小组作业调整为个人作业要求
- 新增权限、状态流转、审计日志、看板指标四类可复用业务规则块
- 整理AI工程技能交付包,迁移旧资产至客户专属交付包并统一术语
- 新增考试输出模板与TRAE使用记录文档
2026-08-08 11:00:36 +08:00

7.4 KiB

模块 4:权限与认证核心链路

graph TD
    A[用户登录] --> B[获取 token]
    B --> C[获取用户信息]
    C --> D[获取菜单路由]
    D --> E[生成动态路由]
    E --> F[进入系统页面]
    F --> G[根据权限字符控制按钮]

调用链路 8 个检查点

1. 页面入口
2. UI 组件
3. 事件函数
4. API 调用
5. 后端 Controller
6. Service/权限
7. 前端状态更新
8. 路由/按钮生效

登录认证链路示例

用户输入账号密码 → Login 页面提交 → 调用 login API → 后端认证用户 → 返回 token → 前端保存 token → request 拦截器携带 token

重点: token 存在哪里?拦截器在哪里带 token?token 失效后如何处理?


用户信息与权限加载链路

登录成功 → 调用 getInfo → 后端返回 user/roles/permissions → 前端保存用户信息 → 前端保存角色和权限字符 → 后续用于按钮权限判断

注意: 前端拿到权限字符只能控制页面展示,不能作为后端安全边界


动态路由加载链路

调用 getRouters → 后端返回菜单树 → 前端转换为路由对象 → 动态挂载路由 → 渲染侧边栏菜单 → 用户进入页面


按钮权限链路

菜单中配置权限字符 → 角色拥有该权限字符 → getInfo 返回 permissions → 前端权限指令/方法判断 → 控制按钮显示或隐藏


后端接口权限链路

前端按钮权限 → 只能控制 UI 展示

后端接口权限 → 必须控制真实访问

需要确认:Controller 是否有权限注解?Service 是否校验数据权限?


操作日志链路

管理员修改用户 → 调用后端接口 → Controller 执行业务 → 日志注解/AOP 记录操作 → 写入操作日志 → 操作日志页面查询


调用链路分析 Prompt

@workspace 请分析若依中"登录后菜单与按钮权限生效"的完整调用链路。
从用户登录开始,依次说明:
登录页面、登录API、token、getInfo、getRouters、
动态路由、侧边栏菜单、按钮权限、后端接口权限、不确定点。
每一步标注文件路径和函数名。

产出:若依权限调用链路图

  • 登录认证链路图
  • 用户信息加载链路图
  • 动态菜单路由链路图
  • 按钮权限链路图
  • 后端接口权限链路图
  • 操作日志链路图