全部文档
文档中心领域模型功能访问策略(模型权限)权限方案对象实现

权限方案对象实现

上面章节:策略兼容权限方案中介绍了老版权限方案的兼容方法,本章节介绍如何使用DeepModel对象实现老版权限方案。仍以项目管理为例

同上面章节:策略兼容权限方案中的场景描述

DeepModel&领域模型搭建(不包含权限)

  • DeepModel中新建部门对象Dep、大区对象Reg,部门对象指向大区对象,即每个部门对应一个大区

  • DeepModel中新建项目对象Proj,包含状态字段proj_status,有四种状态:待提交(editing)、待评审(submitted)、已通过(approved)、已拒绝(rejected);包含部门字段dep,指向部门对象,替换上面章节中的事业部字段entity

  • DeepModel中新建权限关系对象AccessRelation,记录用户与可访问大区间的关系,作为老版权限方案的对象实现。其中,用户字段user指向用户对象,大区字段reg指向大区对象,两个字段的链接对象选项可设置为多选,表示多个指定用户可访问多个指定大区。权限关系对象也可指向用户组对象,记录用户组与可访问大区间的关系

  • 新建基于项目对象的领域模型,即项目模型

  • 平台配置中新增用户组:项目经理

  • 全局权限:先验条件为权限方案的策略,可使用先验条件为指定用户组的策略实现

    • 先验条件为权限方案的策略中设置角色/角色组,先验条件为指定用户组的策略中直接设置对应用户组

  • 行级权限:先验条件为权限方案的策略,可使用先验条件为访问规则的策略实现

    • DeepModel访问规则的访问表达式中同时设置当前用户是否可访问大区、状态字段范围,可使用模板。其中,当前用户是否可访问大区通过关联权限关系对象,即老版权限方案的对象实现进行判断。通过项目数据中部门所属大区,在权限关系对象中获取可访问该大区的用户范围,如果当前用户在该用户范围中,则当前用户满足是否可访问大区的条件

同上面章节:策略兼容权限方案中的策略测试,假设项目对象有以下12条数据,在新标签页测试指定用户的权限,测试结果同上面章节

项目ID

项目状态

部门(dep)

项目负责人

PROJ_0001

editing

DEPT_001

D

PROJ_0002

submitted

DEPT_001

D

PROJ_0003

approved

DEPT_001

D

PROJ_0004

rejected

DEPT_001

D

PROJ_0005

editing

DEPT_003

D

PROJ_0006

submitted

DEPT_003

D

PROJ_0007

approved

DEPT_003

D

PROJ_0008

rejected

DEPT_003

D

PROJ_0009

editing

DEPT_006

D

PROJ_0010

submitted

DEPT_006

D

PROJ_0011

approved

DEPT_006

D

PROJ_0012

rejected

DEPT_006

D

回到顶部

咨询热线

400-821-9199

我们使用 ChatGPT,基于文档中心的内容以及对话上下文回答您的问题。

ctrl+Enter to send