27 lines
1.3 KiB
Markdown
27 lines
1.3 KiB
Markdown
# 开发记录 —— 批次1-T08:hr-system 权限与数据范围底座(F11)
|
||
|
||
## 任务
|
||
按 iteration1-task-breakdown.md T08 开发权限底座。
|
||
|
||
## 交付内容
|
||
- apps/hr_permission.py:权限底座后端
|
||
- sql/V002__init_permission.sql:sys_data_scope 建表 + 内置 admin + 四角色 + 基线权限点
|
||
- wwwroot/role_admin.ui:角色权限配置页
|
||
- wwwroot/data_scope.ui:数据范围配置页
|
||
- scripts/test_permission.py:权限叠加规则 + 权限矩阵自测脚本
|
||
|
||
## 关键实现
|
||
1. 角色管理:复用 rbac 基座 sys_role/sys_role_permission,CRUD + role_assign_perms 全量覆盖。
|
||
2. 管理员管理:sys_user + sys_user_role 绑定,创建/绑定角色/停用。
|
||
3. sys_data_scope:组织维度(org_ids_json 含子树展开) + 花名册字段维度(field_ids_json 白名单)。
|
||
4. get_data_scope(user_id):注册公共能力,叠加规则=多角色组织并集+字段并集;未配置字段维度则字段不受限;admin/sys_admin 全量;无配置默认拒绝。
|
||
5. 内置 admin + 四角色幂等初始化。
|
||
|
||
## 验证
|
||
- python3 scripts/test_permission.py 权限矩阵自测 4/4 通过。
|
||
- 端口 9280(conf/config.json server.port=9280,数据库 hrs)。
|
||
|
||
## 待接入
|
||
- roster/report/export 查询时从 ServerEnv 取 get_data_scope 叠加数据范围。
|
||
- 各模块初始化时 wildcard 展开追加权限点授权。
|