(开源)都进来!简单易懂、功能强大的权限+可视化流程管理系统

· 浏览次数 : 52

小编点评

由于内容较多,我将分段进行回答。 **第一段**: 1、预览地址:http://139.155.137.144:90122、qq群:801913255 **第二段**: 一、前言  随着网络的发展,企业对于信息系统数据的保密工作愈发重视,不同身份、角色对于数据的访问权限都应该大相径庭。 二、目录 三、主要技术选择  4、功能介绍及设计简述  4.1 菜单设计    菜单设计非常简单,就是普通的树形结构,但作者依赖于layui vue 强大的功能结构,在此基础上对每个菜单设计了一个重定向和菜单是否启用的开关。 说明:菜单是否启用的存在,可以精准的控制,每个菜单在什么时候开启,什么关闭(配合任务调度)。这样可以针对性调整用户在什么时候拥有什么样的菜单(比如说用于活动页面,在活动结束后,可以立马关闭),大大减低了维护成本。 4.2 角色管理  角色对于任何一个系统来说都是重中之重,本系统当然也不例外。  “OverallAuth”系统的角色几乎覆盖了所有功能,按钮、菜单、用户、数据行、数据列、流程、表单等。 4.3 用户管理  之前也说到,角色和用户存在关系,以便控制用户的菜单权限等,这和一般的权限管理系统基本一致,但本“OverallAuth”系统作为一个灵活且好用的权限管理系统,作者在这上面下了一定功夫,引入了“用户组”等概念。 4.4 按钮样式  在一个系统中,操作按钮是必不可少的,它们的样式也大相径庭,所以作者设计了自定义按钮样式功能。 4.5 按钮列表  在拥有自定义按钮样式后,当然要把样式运用到每个按钮之上,所以作者做了一个系统列表,来控制每个功能的按钮样式和按钮事件及按钮名称等。 4.6 菜单权限、按钮权限  菜单权限和按钮权限,又称“功能级权限”,这是大多数系统都拥有的功能,它的实现方式也很简单,就是每个菜单、按钮都可以通过角色来设置用户的可操作“单元”。 4.7 显示列设置   在说如何控制“数据列”权限前,我想先说说数据列的动态获取,只有掌握了需要显示的数据列,才能有效的控制它。 4.8 数据列权限  什么是数据列权限,举一个简单的列子。 4.9 数据行权限  对于数据行权限,作者使用动态解析的方式,写了一套数据行权限的解析规则(把界面上选择要建立规则的字段,动态解析成程序能识别的代码)。 **第三段**: 归纳总结以上内容,生成内容时需要带简单的排版

正文

1、预览地址:http://139.155.137.144:9012

2、qq群:801913255

一、前言

  随着网络的发展,企业对于信息系统数据的保密工作愈发重视,不同身份、角色对于数据的访问权限都应该大相径庭。

  列如

  1、不同登录人员对一个数据列表的可见度是不一样的,如数据列、数据行、数据按钮等都可能不太一样。

  2、表单的灵活设计及呈现。

  3、流程的灵活设计及呈现。

  4、接口的调用信息者及性能监控。

  5、等等。

  对于以上等功能,如果要做出一套完整且灵活的权限管理系统,实属不易。

  而接下来作者要介绍的“OverallAuth”权限管理系统,可以说是最全面和最好用的权限管理系统。

  说明:这篇文章作者会把完成“OverallAuth”系统的技术选型和大致设计思路一一分享给大家。文章较长请大家耐心看完,在文章的最后有项目的预览地址。

二、目录

三、主要技术选择

 

 4、功能介绍及设计简述

  4.1 菜单设计

    菜单设计非常简单,就是普通的树形结构,但作者依赖于layui vue 强大的功能结构,在此基础上对每个菜单设计了一个重定向和菜单是否启用的开关。

    说明:菜单是否启用的存在,可以精准的控制,每个菜单在什么时候开启,什么关闭(配合任务调度)。这样可以针对性调整用户在什么时候拥有什么样的菜单(比如说用于活动页面,在活动结束后,可以立马关闭),大大减低了维护成本。

  如图:

  4.2 角色管理

  角色对于任何一个系统来说都是重中之重,本系统当然也不例外。

  “OverallAuth”系统的角色几乎覆盖了所有功能,按钮、菜单、用户、数据行、数据列、流程、表单等。所以在设计方面,我分别建立了以下关系,角色和按钮、角色和菜单、角色和用户、角色和数列等。以便灵活且高效的控制系统中的任何一个功能。

  当然角色也不是万能的,对于更加细致化的控制,角色也有过于“拥挤”的时候,所以在“OverallAuth”系统中,作者还加入了一些规则以便更加细致的控制每个模块。

  4.3 用户管理

  之前也说到,角色和用户存在关系,以便控制用户的菜单权限等,这和一般的权限管理系统基本一致,但本“OverallAuth”系统作为一个灵活且好用的权限管理系统,作者在这上面下了一定功夫,引入了“用户组”等概念。简单来说就是一个用户可以拥有多种角色,角色之间是互补状态。

  4.4 按钮样式

  在一个系统中,操作按钮是必不可少的,它们的样式也大相径庭,所以作者设计了自定义按钮样式功能,如图:

  该功能可以控制系统中任何一个按钮的样式,从而做到实时改变每个按钮样式。

  4.5 按钮列表

  在拥有自定义按钮样式后,当然要把样式运用到每个按钮之上,所以作者做了一个系统列表,来控制每个功能的按钮样式和按钮事件及按钮名称等,如图:

  为了高效的开发,作者对按钮控制写了一套模版,开发者只需要在有使用按钮的地方,加入模版便能够得到相应的按钮。

  4.5 菜单权限、按钮权限

  菜单权限和按钮权限,又称“功能级权限”,这是大多数系统都拥有的功能,它的实现方式也很简单,就是每个菜单、按钮都可以通过角色来设置用户的可操作“单元”。如图:

  “功能级权限”对于一般系统来说已经足够,但对于要求较高的系统来说还远远不够。所以作者编写出了一套能高效控制“数据列”、“数据行”的功能级权限管理。

  4.6 显示列设置

   在说如何控制“数据列”权限前,我想先说说数据列的动态获取,只有掌握了需要显示的数据列,才能有效的控制它。

  在webapi中,作者写了一个接口(通过反射),以便获取所有需要显示的数据列。其中包括字段、字段类型、字段描述等信息。并且在此基础上可以编辑改变字段显示的名称、宽度、排序方式、对齐方式、插槽、是否行权限字段等信息。如图

  在上述图片中,可以看到有一个“同步属性”的按钮,只要返回字段有变动,便会自动同步其变动信息,使其作用到系统每一个显示的地方,让开发更便捷。

  4.7 数据列权限

  什么是数据列权限,举一个简单的列子。

  人员A和人员B都有一个“员工信息”的列表。其中“员工信息”中有一列为“工资”的数据。为了工资保密,员工A有查看人员工资的权限,员工B没有查看权限,那么就需要数据列权限。

  而作者在“OverallAuth”系统中,结合4.6 显示列设置 这一功能,完成了这一功能,且能很灵活的控制每个模块列的显示情况。如图所示:

下面是admin和张三两个用户数据列的对比图

   4.8 数据行权限

  对于数据行权限,作者使用动态解析的方式,写了一套数据行权限的解析规则(把界面上选择要建立规则的字段,动态解析成程序能识别的代码)。可以灵活的设置数据的显示规则。如图所示

  通过上述图片可以看到,设置规则后,同一个用户列表,同一个登录人,只能看到符合规则的数据。

  

 

与(开源)都进来!简单易懂、功能强大的权限+可视化流程管理系统相似的内容:

(开源)都进来!简单易懂、功能强大的权限+可视化流程管理系统

1、预览地址:http://139.155.137.144:9012 2、qq群:801913255 一、前言 随着网络的发展,企业对于信息系统数据的保密工作愈发重视,不同身份、角色对于数据的访问权限都应该大相径庭。 列如 1、不同登录人员对一个数据列表的可见度是不一样的,如数据列、数据行、数据按钮

开源.NetCore通用工具库Xmtool使用连载 - 随机值篇

【Github源码】 《上一篇》 详细介绍了Xmtool工具库中的散列算法类库,今天我们继续为大家介绍其中的随机值类库。 基于系统提供的Random获取随机值方法已经足够简单和易用,本类库只对日常开发过程中最常用到的生成随机验证码方法进行了封装,后续发现其他有价值的常用随机值需求,会陆续添加到类库中

开源一个反sql注入的asp.net core中间件

现在公安有一个专门负责信息安全的部门,前几天公司就收到了一个整改通知,防sql注入的整改。 我们公司开始对网站进行了简单的测试,普通的sql都能检测出来。 但还是被发了整改通知,肯定有些sql注入的方法没测出来,于是我就开始查找了sql注入的手法。 sql注入主要有:基于注释、基于一般错误、基于时间

[转帖]测试工具 sysbench (Centos 7.x) for DM数据库

1、简单介绍 sysbench是一个开源,模块化的多线程性能测试工具,可以用来进行硬件环境性能测试,也可进行数据库的性能测试。但是由于需要支持DM测试,所以我们一般使用源码进行编译。 2、运行方法 sysbench通过运行lua脚本进行数据库测试。而每次测试都分为prepare、run、cleanu

[转帖]测试工具 sysbench (Centos 7.x) for DM数据库

1、简单介绍 sysbench是一个开源,模块化的多线程性能测试工具,可以用来进行硬件环境性能测试,也可进行数据库的性能测试。但是由于需要支持DM测试,所以我们一般使用源码进行编译。 2、运行方法 sysbench通过运行lua脚本进行数据库测试。而每次测试都分为prepare、run、cleanu

RK3588平台产测之ArmSoM-W3软硬件重启测试

1. 简介 专栏总目录 ArmSoM团队在产品量产之前都会对产品做几次专业化的功能测试以及性能压力测试,以此来保证产品的质量以及稳定性 优秀的产品都要进行多次全方位的功能测试以及性能压力测试才能够经得起市场的检验 2. ArmSoM-W3软硬件重启测试方案 软件方式重启系统3000次测试 硬件电源拔

每日站会如此简单,为什么总是开不好?

对于团队而言,每日站会与这种赛前短会类似,让每个成员都了解到团队的现状和进度,从而促进每项任务的成功交付。

日常测试进行beans比较的简单方法

日常测试进行beans比较的简单方法 摘要 想每天把有变化的bean抓取出来有新增的beans时能够及时进行分析和介入 保证beans 都是符合规范的. 方式和方法 开启actuator 打开beans 查看里面的对象信息. 然后定义一个baseline 每天更新完补丁 启动完后再拉取排序一下. 查

C语言的简单学习

C语言是编译型语言,先编译再运行,通常用gcc进行编译,于是安装了Ubuntu操作系统。至于编辑器,VS Code也能用,先sudo apt install build-essential gdb,再在VS Code安装C/C++ extension,就可以进行开发了。 C语言程序都是 .c文件结尾

电子表格也能做购物车?简单三步就能实现

在我们的项目当中,经常需要添加一些选择界面,让用户直观地进行交互,比如耗材、办公用品、设计稿或者其它可以选择的内容。 在线商城的商品目录和购物车无疑是一种大家都很熟悉的交互方式,但是在实际开发中,我们可能会遇到以下几个问题: 怎么及时响应产品的需求,快速实现功能上线? 怎样实现灵活变更模板,把数据、