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

news2024/12/24 9:01:44

概述

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

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

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

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

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

属性

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

功能项

常规功能

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

扩展功能

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

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

界面设计

列表查询

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

新建/修改/查看

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

关联用户

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

关联权限

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

开源平台资料

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1614314.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaScript变量及数据类型

目录 概述: 变量: 前言: 变量的命名: 定义变量: 为变量赋值: 变量提升: let和const关键字: JS数据类型: 前言: typeof操作符: JS基本…

vite(vue3)配置内网ip访问的方法步骤

如果没有进行配置,运行项目之后,看到的访问地址是本地访问地址,其他人访问不了。 如下: 一、配置 “ vite.config.ts ” 文件 server: {host: 0.0.0.0 }, 如图所示: 添加 server 配置后保存 “ vite.config.ts ” 文…

adb工具使用

作者简介: 一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生在读,研究方向无线联邦学习 擅长领域:驱动开发,嵌入式软件开发,BSP开发 作者主页:一个平凡而乐于分享的小比特的个人主页…

银河麒麟安装OpenJDK

# 更新软件包列表(根据系统的实际情况,可能不需要这一步) sudo apt-get update # 安装OpenJDK sudo apt-get install openjdk-8-jdk

【JAVA面试题】探索多线程同步:ReentrantLock与synchronized的对比解析

程序员如何搞副业? 文章目录 程序员如何搞副业?强烈推荐引言:ReentrantLock介绍可重入性(Reentrancy):公平性(Fairness):条件变量(Condition)&…

Flume在大数据集群下的配置以及监控工具Ganglia的部署安装

前提:需要有三台虚拟机(hadoop102,103,104)配置好相关基础环境 安装 将安装包上传到/opt/software中 tar -zxf /opt/software/apache-flume-1.9.0-bin.tar.gz -C /opt/module/修改 apache-flume-1.9.0-bin 的名称为 flume mv /opt/module/…

交易猫、闲鱼、转转圈号客服台V4-V5源码

新增转转订单客服、闲鱼。各种反炸客服,更换了UI!

RAG技术从入门到精通

LLM之RAG技术从入门到精通 RAG技术介绍诞生背景定义 RAG与微调RAG流程架构RAG三种范式Naive RAGAdvanced RAG预检索过程嵌入后期检索过程RAG管道优化 Modular RAG RAG工作流程企业知识问答知识库RAG评估评价方法独立评估端到端评估 关键指标和能力 RAG优化RAG在企业知识库应用下…

OpenHarmony多媒体-mp3agic

简介 mp3agic 用于读取 mp3 文件和读取/操作 ID3 标签(ID3v1 和 ID3v2.2 到 ID3v2.4),协助开发者处理繁琐的文件操作相关,多用于操作文件场景的业务应用。 效果展示: 下载安装 ohpm install ohos/mp3agicOpenHarmony ohpm环境配…

MySQL的事务相关的语句的使用

MySQL的事务相关的语句的使用 事务是数据库管理系统执行过程中的一个程序单位,由一个或多个数据库操作组成。MySQL作为一款流行的关系型数据库管理系统,支持事务处理,允许用户定义一系列的操作,这些操作要么完全执行,…

西安大秦时代

西安大秦时代 大秦软件 公司简介 about us 西安大秦时代是技术型公司,技术领先是我们赖以生存的 基础!服务是技术的延续,让客户满意,是我们服务的目 标,也是公司的生存之本! 产品服务 西安大秦时代拥有…

【面试经典 150 | 数组】最后一个单词的长度

文章目录 写在前面Tag题目来源解题思路方法一:遍历 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并附带一些对于本题涉及到的数据结构等内容进行回顾…

Hdu1068 Girls and Boys【二分图最大独立集】

Girls and Boys 题意 有 n n n 个学生,每个学生可能和若干个其他异性学生有过恋爱关系 现在要选择一些学生形成集合,使得集合内任意两个学生之间都没有过恋爱关系 思路 把学生抽象成点,恋爱关系抽象成边,题意即是求&#xff1…

ASP.NET基于WEB的选课系统

摘要 设计本系统的目的是对选课信息进行管理。学生选课系统维护模块主要完成的是系统管理与维护功能。课题研究过程中,首先对系统管理模块进行了详尽的需求分析,经分析得到系统管理模块主要完成如下的功能:用户基本信息、选课信息的录入,查看…

腾讯云优惠服务器购买攻略,想省钱,看这篇文章就够了

购买腾讯云服务器省钱攻略,先搞个腾讯云新用户身份,然后先领取云服务器优惠代金券,最后在腾讯云官方特价活动上下单购买。目前腾讯云服务器优惠价格61元一年、新老同享2核2G4M带宽99元一年、2核4G5M服务器165元一年、4核8G服务器646元15个月&…

基于Vue3的openlayers地图显示

基于Vue3的openlayers地图显示 (1)接着上一篇将讲,在components文件夹下创建BaseMap.vue文件夹 (2)在App.vue文件里面引入BaseMap.vue文件,如下代码所示: (3)在BaseMa…

upload-labs第十七十八关

第十七关 $is_upload false; $msg null;if(isset($_POST[submit])){$ext_arr array(jpg,png,gif);$file_name $_FILES[upload_file][name];$temp_file $_FILES[upload_file][tmp_name];$file_ext substr($file_name,strrpos($file_name,".")1);$upload_file …

上位机图像处理和嵌入式模块部署(树莓派4b进行驱动的编写)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 树莓派4b上面还支持驱动代码的编写,这是我没有想到的。这里驱动,更多的是一种框架的编写,不一定是编写真正的驱…

大珩PPT助手一键颜色设置

大珩PPT助手最新推出的一键设置文字颜色和背景色功能,为用户在创建演示文稿时带来了更便捷、高效的体验。这一功能使用户能够轻松调整演示文稿中文字的颜色和幻灯片的背景色,以满足不同场合和主题的需要。 以下是该功能的几个关键特点和优势&#xff1a…

opencv的cmake报错

opencv编译报错 CMakeDownloadLog.txt #use_cache "D:/opencv/.cache" #do_unpack "ippicv_2021.8_win_intel64_20230330_general.zip" "71e4f58de939f0348ec7fb58ffb17dbf" "https://raw.githubusercontent.com/opencv/opencv_3rdparty/1…