**代码理解报告:若依权限与菜单模块**
核心问题:用户登录后,菜单、路由和按钮权限如何生效?
---
# 报告结构
**不要写:** 权限模块用于权限控制。
**要写:** 权限与菜单模块负责用户登录后加载角色、权限字符和动态路由,并根据角色菜单关系控制页面访问和按钮显示。
---
# 核心对象写法
User 用户 · Role 角色 · Menu 菜单 · Permission 权限字符 · Dept 部门 · OperLog 操作日志
用户绑定角色,角色拥有菜单权限,菜单中包含权限字符,部门影响数据权限,操作日志记录敏感操作。
---
# 风险点写法
**不要写:** 权限有风险。
**要写:**
- 风险:按钮权限只控制前端展示
- 触发条件:后端接口缺少权限校验
- 影响:用户可能绕过前端直接调用接口
- 验证:检查 Controller 是否有权限注解
---
# 改造建议写法
- **建议:** 确保敏感接口均有后端权限校验
- **原因:** 前端按钮隐藏不能作为安全边界
- **验收:** 无权限用户直接请求接口时返回 403
---
# 项目认知的可审查产物