首页 > 编程知识 正文

人设说明书,快题设计说明

时间:2023-05-03 07:27:18 阅读:58640 作者:2538

在传统的企业APP应用程序体系结构设计中,具有用户角色权限的设计是不可避免的,其中最常见的模型是RBAC模型。RBAC(基于角色的访问控制)是指用户通过角色与权限进行关联。即一个用户拥有若干角色,每一个角色拥有若干权限。这样,我们建立了“用户-角色-权限”许可模式。 在该模型中,用户与角色之间、角色与权限之间,一般人是多对多的关系。 许多架构师和开发人员在使用Mendix时可能会有同样的疑问,但如何在Mendix上实施原始企业用户角色权限模型? http://www.Sina.com/http://www.Sina.com /

作为企业级低代码平台,Mendix为客户提供了企业期望的组织体系结构和用户角色权限管理功能。本案例的设计来源于润建股主要实现三个需求点:

01. 份有限公司数字平台研发院。数字平台研发院自2019年开始采用Mendix低代码平台进行企业信息系统开发和数字化建设,配备有40余人的研发团队;并在服务商的参与下,设计开发适用于企业客户的用户角色权限系统。

02. 设计一套灵活的用户中心,实现用户角色权限的模块,简称UPMS(User Permission Management System)

03. 用户基本信息管理CURD

实现菜单管理用户角色权限域模型

User实体是用户模型的中心实体,它将组织-角色和菜单关系以及重要实体的关系合并在一起。

每个关键实体都有数据,如主实体在Table操作中选择数据记录中的行,或在选择树节点时传递AutoID并将其设置为Helper的SelectedId字段,并将其与相应的实体数据相关联

实现用户数据操作权限

基于数据模型,设计了组织架构、用户中心、用户角色管理和菜单管理四个主要模块,并一键生成相应的实体CURD页面。 根据需要调整页面的字段属性,根据客户的需要调整布局,形成最终交付的页面。

数据模型(Domain Model)设计组织和人员管理页面主要使用自定义树视图构件和表进行设计。 tree view通过微流递归获取组织数据,形成树形结构。

微流获取组织数据列表

为了实现单击树节点更新数据的效果(Data View中的listen to widge之类的功能),为了在单击具有树数据的节点时加载对应节点的数据,可以使用tree view 单击该节点可捕获所单击的对象,传递ID,启动回调微流,并更新组织管理员table和员工table。

添加和编辑用户数据相对简单,并管理用户实体。 其中,Antd select组件支持多项选择,在选择一个或多个角色后保存用户角色数据。 就像输入参考集选择器。

管理CURD页面

菜单实体具有父id信息,是使用层次结构显示并使用自定义树表构件设计的。 Tree Table根据Ant Design中Tree Table的基本交互来完成数据加载和操作。 设置包括基本数据源和字段设置、页眉按钮交互设置(顶部按钮)和行内交互操作设置(表格栏设置)。

基本设定顶部按钮设定表栏设定

新菜单采用Popup page方式,从Menu Helper类中获取相关的Menu实体,传递到Menu_NewEdit页进行数据操作。

组织人员管理

角色管理相对简单,直接使用Antd Table管理角色实体。

设置表小部件,包括数据源和按钮放置。 数据源设置还提供字段设置,以便在使用微流Get_Role检索数据并单击table构件中选定的行时,在AutoID中设置SelectedId字段以传递数据记录在后续的微流中,可以通过SelectedId进行实体的搜索和操作。

Antd Table支持用户对行内操作按钮进行配置,在Table中,设置“编辑”、“删除”和“设置权限”三个按钮,每个按钮的‘Action’对应到各自的业务微流中。

通过Helper实体,获取对应的Role实体,并调用微流ACT_OpenAddMenuPage打开当前选定角色对应的权限设置页面。

RoleAddMenu采用Popup page layout,使用自定义的tree view select组件展示和操作。tree view select基于Ant Design的tree view select实现,通过Role Helper类,关联查询对应的Role实体,并根据Role – Menu的关联关系,获取菜单列表,并根据用户角色对菜单项进行配置。

Widget前端的交互操作,主要实现勾选和取消菜单后,对数据关联关系进行set和unset的操作,点击保存后对实体的修改进行提交。

安全(Security)模型

对于权限模块的安全模型,可以设置两个基础角色,admin角色和user角色(按需设计),admin和user角色对page、nanoflow、microflow、Entity采用full read/write权限。 

Module角色设置

微流访问权限

页面访问权限 Entity访问权限

项目安全模型中,administrator角色应包含权限较高的upms.administrator角色;User应该包含权限较低的upms.user角色。

总结

本文粗略从技术上讲解了实现企业组织架构,用户角色权限管理的功能模块UPMS。通过此模块,客户可以在运行时实现菜单列表的管理,角色的配置,以及细颗粒度的CURD操作权限配置,对于有类似需求的客户来说是一个很好的补充。本项目采用了Ant Design的React组件,进行了大量的自定义widget和数据绑定。相关参考文档,请参考以下链接:

Widget开发指南:https://docs.mendix.com/howto/extensibility/pluggable-widgets

Ant Design设计体系:https://ant.design/index-cn

更多信息,请访问以下链接:

Mendix官网:https://www.mendix.com/zh/

Mendix中国论坛:https://forum.mendix.tencent-cloud.com/

Mendix行业解决方案:https://solutions.mendix.com/

Mendix平台指南:https://www.mendix.com/evaluation-guide/

Mendix动画展示:https://www.mendix.com/demos/

谢谢阅读!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。