全网最全的权限系统设计方案,不接受反驳!(2)

简介: 全网最全的权限系统设计方案,不接受反驳!

2.4.3 职位

一个组织下面会有很多职位,比如财务管理会有财务总监、财务主管、会计、出纳员等职位,每个职位需要的权限是不一样的,可以像组织那样根据职位来分配不同的角色,由于一个人的职位是固定的,所以用户跟职位的对应关系时一对一的关系,职位跟角色的对应关系可以是多对多的关系。加入职位的RBAC模型如下所示:


image.png


2.5 理想的RBAC模型

RBAC模型根据不同业务场景的需要会有很多种演变,实际工作中业务是非常复杂的,权限分配也是非常复杂的,想要做出通用且高效的模型很困难。我们把RBAC模型的演变汇总起来会是一个支撑大数据量以及复杂业务的理想的模型。把RBAC、RBAC1、RBAC2、用户组、组织、职位汇总起来的模型如下所示:


image.png


按照这个模型基本上能够解决所有的权限问题,其中的对应关系可以根据实际的业务情况来确定,一般情况下,组织和职位是一对多的关系,特殊情况下可以有多对多的情况,需要根据实际情况来定。


理想的RBAC模型并不是说我们一开始建权限模型就可以这么做,而是数据体量、业务复杂度达到一定程度之后可以使用这个模型来解决权限的问题,如果数据量特别少,比如刚成立的公司只有十几个人,那完全可以用用户-权限模型,都没有必要使用RBAC模型。



3 权限系统表设计

3.1 标准RBAC模型表设计



标准RBAC模型的表是比较简单了,要表示用户-角色-权限三者之前的关系,首先要创建用户表、角色表、权限表,用户和角色是多对多的关系,角色和权限是多对多的关系,需要再创建两章关系表,分别是用户-角色关系表和角色-权限关系表。这六张表的ER图如下所示:


image.png


3.2 理想RBAC模型表设计

理想的RBAC模型是标准RBAC模型经过多次扩展得到的,表结构也会比较复杂,因为要维护很多关系,如下图所示是理想的RBAC模型的ER图:


image.png


这里面需要强调的是角色互斥表,互斥的关系可以放在角色上,也可以放在权限上,看实际工作的需求。


4 结语

本文从易到难非常详细的介绍了权限模型的设计,在工作中需要根据实际情况来定义模型,千人以内的公司使用RBAC模型是完全够用的,没有必要吧权限模型设计的过于复杂。模型的选择要根据具体情况,比如公司体量、业务类型、人员数量等。总之最适合自己公司的模型就是最好的模型,权限模式和设计模式是一样的,都是为了更好的解决问题,不要为了使用模型而使用模型。



相关文章
|
缓存 Java 关系型数据库
某人事系统架构搭建设计记录
某人事系统架构搭建设计记录
|
11天前
|
人工智能 自然语言处理 安全
一套优秀的反向海淘独立站系统必备的10大特质
这套反向海淘独立站系统具备十大特质:1. 商品聚合与自动化采购,无缝对接国内电商平台;2. 多语言本地化体验,适应全球用户;3. 智能物流与清关,优化运输路径;4. 多币种支付保障资金安全;5. 合规与税务自动化处理;6. AI导购提升用户体验;7. 营销工具促进增长;8. 自动化售后与纠纷处理;9. 数据驱动运营决策;10. 微服务架构确保扩展性。成功案例如Superbuy和Panli展示了其高效性和市场竞争力。
|
JSON Java 数据安全/隐私保护
公司新来了一个同事,把权限系统设计的炉火纯青
RBAC 全称为基于角色的权限控制,本段将会从什么是RBAC,模型分类,什么是权限,用户组的使用,实例分析等几个方面阐述RBAC
|
设计模式 监控 Java
全网最全的权限系统设计方案
日常工作中权限的问题时时刻刻伴随着我们,程序员新入职一家公司需要找人开通各种权限,比如网络连接的权限、编码下载提交的权限、监控平台登录的权限、运营平台查数据的权限等等。
3186 1
|
安全 机器人 项目管理
企业用即时通讯软件的目的是什么以及如何挑选?
提高沟通效率:即时通讯软件可以让员工之间更快速地交流信息,避免传统邮件沟通的延迟和信息丢失的风险。
|
消息中间件 安全 JavaScript
公司新来了一个同事,把权限系统设计的炉火纯青!上
公司新来了一个同事,把权限系统设计的炉火纯青!上
|
JSON 数据库 数据安全/隐私保护
公司新来了一个同事,把权限系统设计的炉火纯青!下
公司新来了一个同事,把权限系统设计的炉火纯青!下
|
监控 安全 Java
全网最全的权限系统设计方案,不接受反驳!(1)
全网最全的权限系统设计方案,不接受反驳!
244 0
|
消息中间件 安全 JavaScript
公司新来了一个同事,把权限系统设计的炉火纯青!(一)
公司新来了一个同事,把权限系统设计的炉火纯青!
公司新来了一个同事,把权限系统设计的炉火纯青!(一)
|
JSON 数据库 数据安全/隐私保护
公司新来了一个同事,把权限系统设计的炉火纯青!(二)
公司新来了一个同事,把权限系统设计的炉火纯青!(二)
公司新来了一个同事,把权限系统设计的炉火纯青!(二)