全部文档
文档中心领域模型功能访问策略(模型权限)例子:需求管理

例子:需求管理

需求场景:编辑岗新建需求,提交后发起需求流程:开始->审批岗审批需求->结束,包括需求的状态迁移

  • 需求状态:待提交、待评审、已通过、已拒绝。其中,待提交对应“编辑岗新建需求”步骤,待评审对应“审批岗审批需求”步骤,审批后为已通过或已拒绝

  • 需求权限

    • 编辑岗可以新建需求

    • 所有人可以查看需求

    • 编辑岗在待提交时可以更新需求

    • 可以删除自己创建或负责的需求

    • 不能删除待评审、已通过的需求

    • 任何情况下都可以进行需求状态迁移

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

  • DeepModel中新建需求对象Req,包含状态字段req_status,有四种状态:待提交(editing)、待评审(submitted)、已通过(approved)、已拒绝(rejected)

  • 新建基于需求对象的领域模型,即需求模型

  • 需求模型的领域动作中配置需求的状态迁移

  • 平台配置中新增用户组:编辑岗、审批岗

需求模型的访问策略中配置需求权限相关策略,DeepModel中新建相关访问规则

  • 新建策略->全局权限,新建策略:编辑岗可以新建需求

  • 新建策略->行级权限,新建策略:所有人可以查看需求、任何情况下都可以进行需求状态迁移

  • 新建策略->行级权限,新建策略:编辑岗在待提交时可以更新需求

    • 使用访问规则:编辑岗在待提交时,可使用模板

  • 新建策略->行级权限,新建策略:可以删除自己创建或负责的需求

    • 使用访问规则:自己创建或负责的需求,可使用模板

  • 新建策略->行级权限,新建策略:不能删除待评审、已通过的需求

    • 使用访问规则:待评审、已通过的需求,可使用模板

假设需求对象有以下8条数据

需求ID

需求状态

组件

需求负责人

创建人

REQ_0001

editing

DeepModel

A

A

REQ_0002

submitted

DeepModel

A

A

REQ_0003

approved

DeepModel

A

A

REQ_0004

rejected

DeepModel

A

A

REQ_0005

editing

DeepFlow

B

A

REQ_0006

submitted

DeepFlow

B

A

REQ_0007

approved

DeepFlow

B

A

REQ_0008

rejected

DeepFlow

B

A

在新标签页测试指定用户的权限

  • 编辑岗用户A测试结果如下,其中可更新需求:REQ_0001、REQ_0005,可删除需求:REQ_0001、REQ_0004、REQ_0005、REQ_0008

  • 编辑岗用户B测试结果如下,其中可更新需求:REQ_0001、REQ_0005,可删除需求:REQ_0005、REQ_0008

  • 审批岗用户C测试结果如下

需求场景中需要搭建UX页面,包括:需求池、需求详情

  • 需求池为需求清单,可在当前页面新建、编辑、删除需求,也可跳转新页面新建需求

  • 需求详情为需求明细,可新建、更新需求

UX数据源为领域模型时,包含模型权限。需求场景中需求池、需求详情的数据源为需求模型

需求池中新建、编辑、删除按钮的禁用状态可关联对应动作权限。注:UX清单表展示数据已按查询权限过滤

需求详情中新建、更新时的禁用或只读状态可关联对应动作权限

需求场景中需要搭建需求审批工作流,需求流程:开始->审批岗审批需求->结束,包括需求的状态迁移

工作流中领域模型节点包含模型权限,模型执行动作需要在对应领域模型中配置该动作权限,确保执行人有权限

回到顶部

咨询热线

400-821-9199

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

ctrl+Enter to send