一二三应用开发平台使用手册——系统管理-用户组-使用说明

本文主要是介绍一二三应用开发平台使用手册——系统管理-用户组-使用说明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

概述

在RBAC模型中,资源、角色、用户三个关键元素,构成权限体系。在平台设计和实现的时候,以下几个核心问题思考如下:

角色,单层平铺还是树形结构?
在小型应用中,角色数量有限的情况下,单层平铺简单实用,但在大中型应用中,角色数量在几十个甚至上百个,如果依旧平铺则难以管理和使用。采用树形结构后,可以方便地添加虚拟节点(如角色分类)。

角色还是用户组?
角色的称呼偏技术,对于业务用户而言,称为用户组更合适,即一组用户的集合;
业务意义上的岗位和职务,与传统意义的角色含义基本一致,如部门经理、固定资产接口人。
更改为树形结构后,可以进一步扩展其功能,例如,新建通讯(通知)组,将一部分人放到其下,可以供消息模块(短信、邮件、电话)等使用。
涉及到工作流集成,同样存在一部分流程中的环节处理人员,往往也是某些特定用户集合,并非出于功能权限分配目的,放到用户组角色里更合适。
换个角度想,传统意义上用于功能权限控制的角色,更适合作为用户组的一个分支,因此最终方案将平铺的角色,调整为树形结构的用户组。

是否需要权限继承?
构建成树形结构后,面临一个新的问题,即是否要考虑权限继承问题,例如,给某一角色(用户组)分配的某一权限,则其上级角色和权限自动也自动拥有了其权限,也就是通常意义上的员工有的权限,领导也自动有了,这么做看上去会减轻一定的权限初始化工作以及权限维护工作量,但实际上结果可能是相反的,增加权限维护的复杂性,并且某些业务功能并不适配这种模式。例如,某个底层功能,如班组作业,需要获取当前班组编码或数据,这个功能菜单,让部门经理打开会无法正常显示或使用。
上面这个例子,实际深入思考下,并不是权限继承机制的问题,而是使用这种机制,需要从全局好好规划角色,明确哪些角色是继承关系。班组成员和部门经理是上下级关系,但是从角色继承角度而言,并不应该存在继承关系。存在继承关系的角色,应该是部门管理员-》公司管理员-》集团管理员。
引入权限继承,会增加系统设计、实现、运维的复杂性,因此,不考虑权限继承问题,树形结构仅用于组织角色(用户组)。

用户组规划
按照上述用户组的分类考虑,规划如下:
1.角色:传统意义上的岗位和职务,如部门经理、固定资产接口人,其下可以进一步分公共角色和专用角色,公共角色全局公用,如部门经理、固定资产接口人,每个部门都有该角色;专用角色往往是特定部门特定岗位才有的,如采样人员、巡检人员,可以在用户组下建组织机构虚拟节点,将这些专用角色挂靠在下面,更方便管理(使用角色时,不会显示在公共角色下,从而避免展示的总数量过多而影响选择)。
2.通讯组:预置的消息通知用户集合,可供消息模块(短信、邮件、电话)等使用,在某些业务事件发生时,如发生火灾,系统自动发送应急短信给通讯组用户。
3.流程岗位:工作流流程审批专用,如合同审查人员,会签人员,往往是为某条或某几条流程设置的人员集合,与管理上的岗位和职务没有很强的关联性,也不适合在常规功能权限分配是显示出来。
……

属性

  • 名称:用户组的名字,核心属性。
  • 编码:用户组的编码,应用程序中通过编码进行逻辑处理。
  • 上级:父级标识,形成树形结构的依据。
  • 状态:可以通过状态管理,停用或启用某个用户组。

功能项

常规功能

新增:新增单条数据。
修改:修改单条数据。
删除:删除数据,这里的删除跟上文中的设置状态停用不同,是真正的删除(逻辑删除)。对于确认录入错误的数据,尚未被单据使用,应当彻底清理掉而不是将其状态设置为停用。删除时系统会清理用户组关联的用户数据和权限项数据,避免关联表中残留垃圾对应关系数据。
查询:多条件组合,模糊匹配当前系统中的数据。
查看:查看单条数据。
复制新增:以某条数据为基础,拷贝方式快速创建数据。

扩展功能

启用、停用:快速设置状态。
关联用户:调整用户组关联的用户,可移除与新增。
关联权限:调整用户组关联的权限项,可移除与新增。

注:考虑到用户组并不像组织机构和用户相对固化,而是一个动态维护的过程,因此未实现excel导入功能来实现初始化,后续视情况可考虑增加。

界面设计

列表查询

树形结构,采用左树右表的方式,左侧为用户组树,参与数据查询。点击树节点时自动查询选中用户组下属的用户组。
右侧上方为查询区域,可灵活组合多种查询条件,筛选需要的数据。
此外,为应对全局搜索的需求场景,附加了一个“查询全部”的复选框,勾选后将忽略当前选择的用户组。
image.png

新建/修改/查看

这三个功能界面差不多,操作上略有差异。
新建会打开空白表单,部分属性以默认值填充。
修改则会查询数据库,填充实体属性值,在此基础上修改。
查看也是查询数据库填充实体属性,但不能保存。
image.png

关联用户

可按组织机构、姓名、账号多维度搜索用户,查询结果默认显示已与当前用户组关联的用户,可单个或批量移除。也可以通过添加按钮将当前用户暂存到最右侧待添加区,保存后生效。
image.png

关联权限

树形结构显示系统当前权限项,遵循模块-实体-权限项的组织模式,勾选上级可批量选择下级,保存后生效。
image.png

开源平台资料

平台名称:一二三开发平台
简介: 企业级通用开发平台
设计资料:csdn专栏
开源地址:Gitee
开源协议:MIT
欢迎收藏、点赞、评论,你的支持是我前行的动力。

这篇关于一二三应用开发平台使用手册——系统管理-用户组-使用说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/926314

相关文章

使用Python创建一个功能完整的Windows风格计算器程序

《使用Python创建一个功能完整的Windows风格计算器程序》:本文主要介绍如何使用Python和Tkinter创建一个功能完整的Windows风格计算器程序,包括基本运算、高级科学计算(如三... 目录python实现Windows系统计算器程序(含高级功能)1. 使用Tkinter实现基础计算器2.

SpringBoot中四种AOP实战应用场景及代码实现

《SpringBoot中四种AOP实战应用场景及代码实现》面向切面编程(AOP)是Spring框架的核心功能之一,它通过预编译和运行期动态代理实现程序功能的统一维护,在SpringBoot应用中,AO... 目录引言场景一:日志记录与性能监控业务需求实现方案使用示例扩展:MDC实现请求跟踪场景二:权限控制与

Android开发环境配置避坑指南

《Android开发环境配置避坑指南》本文主要介绍了Android开发环境配置过程中遇到的问题及解决方案,包括VPN注意事项、工具版本统一、Gerrit邮箱配置、Git拉取和提交代码、MergevsR... 目录网络环境:VPN 注意事项工具版本统一:android Studio & JDKGerrit的邮

在.NET平台使用C#为PDF添加各种类型的表单域的方法

《在.NET平台使用C#为PDF添加各种类型的表单域的方法》在日常办公系统开发中,涉及PDF处理相关的开发时,生成可填写的PDF表单是一种常见需求,与静态PDF不同,带有**表单域的文档支持用户直接在... 目录引言使用 PdfTextBoxField 添加文本输入域使用 PdfComboBoxField

Git可视化管理工具(SourceTree)使用操作大全经典

《Git可视化管理工具(SourceTree)使用操作大全经典》本文详细介绍了SourceTree作为Git可视化管理工具的常用操作,包括连接远程仓库、添加SSH密钥、克隆仓库、设置默认项目目录、代码... 目录前言:连接Gitee or github,获取代码:在SourceTree中添加SSH密钥:Cl

Python开发文字版随机事件游戏的项目实例

《Python开发文字版随机事件游戏的项目实例》随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型,在这篇博文中,我们将使用Python开发一款文字版随机事件游戏,通过这个项目,读者不仅能够... 目录项目概述2.1 游戏概念2.2 游戏特色2.3 目标玩家群体技术选择与环境准备3.1 开发环境3

Python中模块graphviz使用入门

《Python中模块graphviz使用入门》graphviz是一个用于创建和操作图形的Python库,本文主要介绍了Python中模块graphviz使用入门,具有一定的参考价值,感兴趣的可以了解一... 目录1.安装2. 基本用法2.1 输出图像格式2.2 图像style设置2.3 属性2.4 子图和聚

windows和Linux使用命令行计算文件的MD5值

《windows和Linux使用命令行计算文件的MD5值》在Windows和Linux系统中,您可以使用命令行(终端或命令提示符)来计算文件的MD5值,文章介绍了在Windows和Linux/macO... 目录在Windows上:在linux或MACOS上:总结在Windows上:可以使用certuti

CentOS和Ubuntu系统使用shell脚本创建用户和设置密码

《CentOS和Ubuntu系统使用shell脚本创建用户和设置密码》在Linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设置密码,本文写了一个shell... 在linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设

Python使用Matplotlib绘制3D曲面图详解

《Python使用Matplotlib绘制3D曲面图详解》:本文主要介绍Python使用Matplotlib绘制3D曲面图,在Python中,使用Matplotlib库绘制3D曲面图可以通过mpl... 目录准备工作绘制简单的 3D 曲面图绘制 3D 曲面图添加线框和透明度控制图形视角Matplotlib