权限管理
权限管理功能基于RBAC(基于角色的访问控制)模型,提供灵活的用户权限分配和管理。
角色体系
系统预设三级角色:
| 角色 | 代码 | 说明 |
|---|---|---|
| 管理员 | ADMIN | 系统最高权限,可管理所有功能 |
| 经销商 | DEALER | 设备管理、备份恢复等业务功能 |
| 普通用户 | USER | 只读权限,查看设备和备份信息 |
权限矩阵
设备管理权限
| 操作 | 管理员 | 经销商 | 普通用户 |
|---|---|---|---|
| 查看设备列表 | ✅ | ✅ | ✅ |
| 注册设备 | ✅ | ✅ | ❌ |
| 激活设备 | ✅ | ✅ | ❌ |
| 锁定/解锁设备 | ✅ | ✅ | ❌ |
| 注销设备 | ✅ | ❌ | ❌ |
| 批量导入 | ✅ | ✅ | ❌ |
应用管理权限
| 操作 | 管理员 | 经销商 | 普通用户 |
|---|---|---|---|
| 查看版本列表 | ✅ | ✅ | ✅ |
| 创建版本 | ✅ | ❌ | ❌ |
| 上传安装包 | ✅ | ❌ | ❌ |
| 发布版本 | ✅ | ❌ | ❌ |
| 删除版本 | ✅ | ❌ | ❌ |
数据管理权限
| 操作 | 管理员 | 经销商 | 普通用户 |
|---|---|---|---|
| 查看备份列表 | ✅ | ✅ | ✅ |
| 创建备份 | ✅ | ✅ | ❌ |
| 恢复数据 | ✅ | ✅ | ❌ |
| 删除备份 | ✅ | ❌ | ❌ |
系统管理权限
| 操作 | 管理员 | 经销商 | 普通用户 |
|---|---|---|---|
| 用户管理 | ✅ | ❌ | ❌ |
| 角色分配 | ✅ | ❌ | ❌ |
| 操作日志 | ✅ | ✅(仅查看) | ❌ |
| 系统配置 | ✅ | ❌ | ❌ |
权限分配
分配角色
登录厂家管理系统(需管理员权限)
→ 系统管理
→ 用户管理
→ 选择目标用户
→ 点击"编辑"
→ 选择角色
→ 保存查看用户权限
用户管理
→ 选择目标用户
→ 查看"权限详情"标签
→ 显示该用户拥有的所有权限权限范围说明
管理员 (ADMIN)
拥有系统所有功能的完全控制权:
- 所有设备管理操作
- 应用版本的完整生命周期管理
- 数据备份和恢复
- 用户账号管理和权限分配
- 系统配置和日志查看
- 导出和审计功能
经销商 (DEALER)
面向设备经销和维护场景:
- 设备注册、激活和日常管理
- 创建和恢复数据备份
- 查看操作日志
- 查看应用版本信息
普通用户 (USER)
面向查询和浏览场景:
- 查看设备列表和状态
- 查看备份记录
- 查看应用版本信息
安全策略
最小权限原则
- 默认为新用户分配最低权限角色
- 根据实际工作需要逐步提升权限
- 定期审查权限分配是否合理
权限变更审计
所有权限变更操作都会记录到操作日志:
- 角色变更的操作人和时间
- 变更前后的角色信息
- 变更原因(如有填写)
敏感操作保护
高风险操作需要额外验证:
| 操作 | 额外验证 |
|---|---|
| 删除用户 | 需要输入管理员密码 |
| 批量设备注销 | 需要二次确认 |
| 导出用户数据 | 记录详细审计日志 |
| 修改管理员权限 | 需要超级管理员审批 |
注意事项
- 遵循最小权限原则,避免过度授权
- 定期审查用户权限,及时回收不需要的权限
- 离职员工应立即禁用账号并回收权限
- 重要权限变更建议通过审批流程
- 保持管理员账号的数量在合理范围内
附录:规范章节补全(v5.0.3.108)
为对齐项目用户文档标准结构,下列章节补齐若干未在正文中单独列出的视角。已在正文覆盖的章节在此段仅作简述并标注
见上文指引。
1. 概述
见正文「角色体系」「权限矩阵」。权限管理基于 RBAC,预设 ADMIN / DEALER / USER 三级角色,按设备 / 应用 / 数据 / 系统四类细分权限,含最小权限原则与敏感操作保护。
2. 核心特性
- 三级角色 RBAC(ADMIN / DEALER / USER)
- 四类权限矩阵(设备 / 应用 / 数据 / 系统)
- 最小权限原则 + 权限变更审计
- 敏感操作额外验证(管理员密码 / 二次确认 / 审批)
3. 系统架构
前端(用户管理 → 角色分配)
│ REST /api/users/{id}/role
▼
后端(Spring Boot + Spring Security/JWT)→ RBAC 鉴权(每请求校验角色)
▼
MySQL(users.role)4. 系统定位
厂家管理系统的访问控制基座,所有模块的操作权限均由本模块的角色矩阵裁决。
5. 核心功能
| 功能 | 说明 |
|---|---|
| 角色体系 | ADMIN / DEALER / USER |
| 权限矩阵 | 设备 / 应用 / 数据 / 系统四类 |
| 分配角色 | 管理员编辑用户角色 |
| 查看权限 | 用户权限详情 |
| 敏感保护 | 删除 / 注销 / 导出 / 改权限额外验证 |
6. 技术架构
后端 Spring Boot 3.2.1 + Spring Security;角色存 users.role;JWT 携带身份,后端按角色矩阵逐请求鉴权;变更写审计。
7. 系统特点
- deny-by-default:USER 默认只读
- 敏感操作分级保护(见正文「敏感操作保护」表)
- 权限变更全程审计
8. 应用场景
厂家分配管理员 / 经销商 / 查询账号;离职回收权限;按最小权限逐步提权。
9. 竞品对比
| 维度 | 本模块 | 无 RBAC |
|---|---|---|
| 角色分级 | ✅ 三级 | ❌ |
| 细粒度矩阵 | ✅ 四类 | ❌ |
| 敏感操作保护 | ✅ | ❌ |
| 变更审计 | ✅ | ⚠️ |
10. 配置参考
角色 / 权限矩阵为系统预设(见正文表);新用户默认最低权限角色。敏感操作验证规则见正文「敏感操作保护」。部署见 安装部署。
11. 性能指标
RBAC 鉴权为内存 / Token 内角色判定(每请求毫秒级);不引入额外 DB 往返(角色随 JWT 携带)。
12. 测试覆盖
各角色对四类操作的允许 / 拒绝、敏感操作额外验证、角色变更审计由后端集成测试覆盖(权限矩阵逐格断言)。
13. 安全考虑
- 最小权限原则 + 定期审查 + 离职即回收
- 高风险操作额外验证:删除用户(管理员密码)、批量注销(二次确认)、改管理员权限(超管审批)
- 所有权限变更写
device_logs审计(操作人 / 前后角色 / 原因)
14. 故障排除
| 症状 | 可能原因 | 处理 |
|---|---|---|
| 操作被拒 403 | 角色无该权限 | 对照权限矩阵确认所需角色 |
| 改不了角色 | 非管理员 | 需 ADMIN 权限 |
| 管理员无法降级 | 最后一个管理员保护 | 先增设管理员再调整 |
15. 关键文件
| 资源 | 说明 |
|---|---|
users.role 字段 | 角色存储 |
/api/users/*/role | 角色分配 API |
| 前端「用户管理 → 权限详情」 | 角色 / 权限界面 |
16. 使用示例
见正文「分配角色」(用户管理 → 选用户 → 编辑 → 选角色 → 保存)与「查看用户权限」。
