2023-11-06 bigbai
1、近期写代码又开始重新接触了一点控台应用,接触到的项目年代久远,所有的权限管理用起来感觉不是很得心应手。于是想着自己能否从零设计一个,梳理一下思路,当然实际用不用也无所谓。权限管理主要是为了安全,项目中的权限管理是全部放在前端控制的,感觉这一点非常不安全。前端防君子。
2、当然本次造轮子主要也是为了打造一款自己满意的权限控制框架,所以设计采用模式,采用渐进式的方式开发。大家可以一起学习一下权限控制的设计和实现思路。如果生产想直接使用,也有比较成熟的框架:。写代码之前,我们先学习一点权限设计的基础知识。
3、权限设计发展至今,网上的资料还是比较丰富的,我们节选一些比较经典的内容。对于权限管理,最简单的想法应该是为每一个用户,分配不同的权限。但是这种设计存在一个比较大的问题就是不够灵活,当用户较多时,比较难以维护。
4、于是,很多人想到了在用户和权限中间增加一个角色。也是迄今为止迄最为普及的权限设计模型,基于角色的访问控制。这里主要有三个概念:用户,角色。用户其实就是我们需要控制的主体。
5、角色就是一座桥梁,也是这个模型中最巧妙的地方。就像我们每一个人一样,我们是父母的孩子,孩子的父母,公司的员工,我们在不同的时刻饰演着不同的角色。不同的角色,对应的不同的权限。
1、权限是一个比较宽泛的概念,对于控台而言,可能是菜单权限,资源权限,也包括对于数据的增删改查的操作权限。在数据库表设计的时候,其实就是三张实体表:。
2、_用户-角色关系表。_角色-权限关系表。以上是的核心设计及模型分析,此模型也叫做0,而基于核心概念之上,还提供了扩展模式。
3、包括1,2。下面介绍这三种类型。这里主要是引入了角色权限继承()的概念。这种设计可以给角色分组和分层,一定程度简化了权限管理工作。
4、基于核心模型的基础上,进行了角色的约束控制,2模型中添加了责任分离关系,其规定了权限被赋予角色时,或角色被赋予用户时,以及当用户在某一时刻激活一个角色时所应遵循的强制性规则。不过实际工作中,这种模型用的也不多。
5、此处不做展开。功能最全的模型,也是各大公司最常用的一种模型。我们平时见到的权限管理,一般是和公司的组织架构是一一对应的。
原文链接:https://www.bigbai.cc/news/7367.html
本文版权:如无特别标注,本站文章均为原创。