OverallAuth权限管理系统,超精度权限划分(第一篇:功能级权限)。

一、✨前言

随着信息化系统的普及,信息安全愈发的重要,企业对于信息的保密程度越来越高。程序员面临的压力开始逐步递增。

而作者作为"码农",也深深的体会到这一点😭。

随着公司业务的发展,作者所在公司的权限系统,已经完全不能满足公司的发展需求,⏰急需做一个精度更高的权限划分系统。

根据分析公司传统的权限设计模式(ACL、RABC)已经不适合在做二次开发。于是作者就开始着手规划一套全新的权限管理系统,OverallAuth因此诞生🎁。

# 🎁开箱即用

码友可以放心大胆的使用😄,本项目的前后端,都是作者从0到1完全独立搭建。

**如果你不想花时间写一套权限系统,那么就下载使用吧💘💖**

说明:数据库文件在qq群:801913255,因为更新频繁,就不放在这里了

二、❤️OverallAuth统一权限分发中心

在解决公司权限分配的问题后,我决定把OverallAuth系统改造下,做成一个开源的权限管理系统,⭐给与需要帮助的人提供思路和解决方案。

在不断的完善下,OverallAuth统一权限分发中心,可以支撑多公司、多系统的权限分发系统。❤️它简单、高效、易懂❤️,新手也能轻松上手。

话不多说,我们来大致看下,OverallAuth统一权限分发中心具备哪些权限功能。

三、🔑JWT 鉴权

jwt不比多说,相信大多数人都懂,是一种安全的传输协议标准,在OverallAuth中,作者使用它来用户认证和鉴权。

四、🚧角色权限

区别于传统的角色权限(ACL),作者在设计时,把角色分了等级(就像树形结构),上级角色会继承下级角色的所有权限。

这样成功的避免了随着用户增多,角色也出现暴增、冗余、错乱的情况。大大降低了维护成本。

如下图所示:

❓到这里,可能有人会问,为什么不直接勾选【用户管理员】、【普通用户1】、【普通用户2】。当然这样确实可以,但数据库存储关系会多出不少数据,而且会影响之后的权限划分(特别是数据行、数据列等权限)。

❓不过在这里,确实会存在一个问题。因为角色的继承关系,勾选【用户管理员】后,会继承【普通用户1】、【普通用户2】角色权限它属于强制行为。那么当【用户管理员】不需要【普通用户2】的权限时,这种问题将不能避免。这个问题作者已经规划如何解决。

五、🌳菜单权限

在设计上,菜单权限依然是通过角色来确定。如下图:

六、🚥菜单按钮权限

为了精准的权限划分,在OverallAuth中,按钮分为2中类型:即【菜单按钮】和【数据按钮】

如下图所示:

当一个角色被赋予某一个菜单时,并不意味着这个菜单中的所有数据和按钮都能查看和使用。我们还需要进行颗粒级别的授权。菜单按钮就是其中之一。

如何分配【菜单按钮权限】,如下图

需要源码的,关注公众号,发送【权限】获取源码

以上就是本篇文章的全部内容,感谢耐心观看

****后端WebApi预览地址:http://139.155.137.144:8880/swagger/index.html

前端vue 预览地址:http://139.155.137.144:8881

关注公众号:发送【权限】,获取源码

有兴趣的朋友,请关注我微信公众号吧(*^▽^*)。

关注我:一个全栈多端的宝藏博主,定时分享技术文章,不定时分享开源项目。关注我,带你认识不一样的程序世界