hr-system/docs/02-develop/dev-notes.md

27 lines
1.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 开发记录 —— 批次1-T08hr-system 权限与数据范围底座F11
## 任务
按 iteration1-task-breakdown.md T08 开发权限底座。
## 交付内容
- apps/hr_permission.py权限底座后端
- sql/V002__init_permission.sqlsys_data_scope 建表 + 内置 admin + 四角色 + 基线权限点
- wwwroot/role_admin.ui角色权限配置页
- wwwroot/data_scope.ui数据范围配置页
- scripts/test_permission.py权限叠加规则 + 权限矩阵自测脚本
## 关键实现
1. 角色管理:复用 rbac 基座 sys_role/sys_role_permissionCRUD + 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 通过。
- 端口 9280conf/config.json server.port=9280数据库 hrs
## 待接入
- roster/report/export 查询时从 ServerEnv 取 get_data_scope 叠加数据范围。
- 各模块初始化时 wildcard 展开追加权限点授权。