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

1.3 KiB
Raw Permalink Blame History

开发记录 —— 批次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 展开追加权限点授权。