feat(permission): replace OA roles with post-bound roles and assignee posts
Unify effective roles via post-role bindings, remove dedicated OA role UI, and update OA assignee resolution plus related SQL/docs. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
1 parent
a3c73d76bb
commit
06db3bc966
66 files changed
+55337
-38647
No files matched your search
@@ -22,6 +22,8 @@
|
||||
|
||||
单个用户允许绑定多个角色;其**菜单权限**与**数据权限** SHALL 分别取所有的角色的权限**并集**(与需求 §2.1.5「特别注意」一致)。
|
||||
|
||||
用户有效角色 SHALL 为:**直接绑定角色** ∪ **经启用职位(`sys_user_post` → `sys_post` → `sys_post_role`)继承的启用角色**(与需求 §2.1.8 一致)。停用职位、停用角色或已软删关联 SHALL NOT 参与并集。
|
||||
|
||||
#### Scenario: 两角色菜单合并
|
||||
|
||||
- **WHEN** 用户同时具有角色 R1(菜单集合 M1)与角色 R2(菜单集合 M2)
|
||||
@@ -32,6 +34,20 @@
|
||||
- **WHEN** 用户同时具有角色 R1 与 R2,各自数据权限范围不同
|
||||
- **THEN** 可访问数据 SHALL 为两角色数据权限的并集(在实现上与产品确认:取更宽或按需求文档并集语义)
|
||||
|
||||
#### Scenario: 经职位继承角色
|
||||
|
||||
- **WHEN** 用户未直接绑定角色,但绑定启用职位 P,且 P 关联启用角色 R(菜单集合 M)
|
||||
- **THEN** 用户有效菜单 SHALL 包含 M,且数据权限 SHALL 按 R 的 `data_scope` 参与并集;登录门禁 SHALL 视该用户为已有有效角色
|
||||
|
||||
### Requirement: 职位关联角色配置
|
||||
|
||||
系统 SHALL 通过 `sys_post_role` 维护职位与角色关联;职位管理界面 SHALL 支持为职位配置关联角色;用户管理界面 SHALL 支持为用户多选职位。职位本身 SHALL NOT 直接配置菜单树或独立 `data_scope`(权限仍落在 `sys_role`)。
|
||||
|
||||
#### Scenario: 职位角色配置全量替换
|
||||
|
||||
- **WHEN** 管理员在职位「角色配置」中保存角色 ID 列表
|
||||
- **THEN** 系统 SHALL 将该职位的有效 `sys_post_role` 关联替换为该列表(软删除旧关联)
|
||||
|
||||
### Requirement: Web 与小程序菜单树
|
||||
|
||||
菜单管理 SHALL 同时支撑 Web 端与小程序端菜单;系统 SHALL 预置两棵顶层虚拟根(需求中的 parent_id=0 的「web 端菜单」「移动端菜单」),后续菜单 SHALL 挂载其下(与需求 §2.1.6)。
|
||||
|
||||
Reference in new issue
Block a user