权限模型是什么?
权限模型是指用于描述用户、角色和权限之间关系的一种抽象模型。不同的权限模型有不同的优缺点,适用于不同的场景和需求。
用户设计
用户来源于系统内部注册或外部导入,用户有用户名、密码、姓名、手机号、邮箱等属性。
用户代表系统中的实际操作人员,根据系统场景不同,可划分为:
C端用户:如普通消费者。
-
B端用户:系统内部的员工,可能来自不同部门,承担着不同的职责。
角色设计
角色按照功能模块进行命名,如商品管理、订单管理、营销管理等。角色可以分为普通角色和超级管理员角色,普通角色可以拥有部分或全部功能模块的权限,超级管理员角色可以拥有所有功能模块的权限,并且可以管理其他用户和角色。
用户组
用户组是权限模型中的重要工具,用于将权限需求相似的用户集合在一起,实现统一管理和高效授权。
通过将用户添加到用户组,并为用户组分配角色或权限,系统可以简化权限管理流程,提升管理效率。用户组可以适配多种业务需求。
例如:
部门级别的权限管理:将同一部门的用户加入一个用户组,统一管理权限。
-
项目级别的权限管理:将参与同一项目的用户加入一个用户组,赋予项目所需的权限。
职位
职位是用户在组织中的职务和职责的具体体现,也是权限模型中划分权限的重要依据。通过职位,可以为用户分配符合其职责范围的权限,确保权限控制精细化与业务需求一致。
不同职位对应不同的权限需求,随着职务范围的扩大,权限逐级递增。
常见的权限划分包括:
普通员工:仅能访问与执行日常工作相关的功能,如商品上下架、订单处理和发货管理。
部门经理:除拥有普通员工的权限外,还可管理部门业务,如审核下属的申请单和查看部门绩效数据。
-
高级管理层:拥有全局视角,可访问所有功能,包括查看经营报表、财务报表,以及制定业务策略。
权限模型
权限模型有很多种,例如“ACL 模型、DAC 模型、MAC 模型、RBAC 模型、ABAC 模型”等。
RBAC模型怎么来的
为了解决配置繁琐的问题,我们需要使用 RBAC 模型。
RBAC 模型相比 ACL,多了一个角色的概念。
角色主要是为了将用户、权限进行解耦,以达到权限“批量配置、随时更新”的目的。
主要以“最小特权原则”“责任分离原则”和“数据抽象原则”三个安全原则创建出了RBAC96模型(包含RBAC0、RBAC1、RBAC2、RBAC3四个概念模型)。
RBAC模型的组成
RBAC模型中包括用户、角色、许可权三个基本数据元素,这三个元素也是组成权限控制最基础的东西。
权限分类
两种分类:功能权限、数据权限。
功能权限控制着用户在系统中可使用的功能模块、可访问的页面以及可执行的操作。功能权限,主要控制账号的组件可视范围,常见的有目录、菜单、按钮等。
功能权限的控制粒度通常包括:模块权限、页面权限、按钮权限和字段权限。
数据权限通过对列表数据的行级控制,实现不同用户在系统中拥有不同的数据查看范围。决定了用户能看哪些数据,一般通过“部门、品牌、区域”等维度划分数据权限。
实现数据权限的关键是明确数据规则的控制维度,常见的维度包括:
创建人:按数据的创建者限制访问范围。
组织单元:基于数据所属的组织单元划定访问范围。
业务线:按数据所属的业务线划分访问范围。
RBAC的4种模型
RBAC0
通过将权限赋予角色,再将角色赋予用户的形式。将权限分配给用户,其中用户和角色,以及角色和权限都是多对多的关系,这就实现了身兼多职用户的权限开放和管理。
2、RBAC1
RBAC1就是建立在RBAC0之上,只是在角色中多增加了继承的概念。实际业务上看就是主管也拥有下属的功能权限。主要实现了权限的继承。
3、RBAC2
针对多个角色的用户,根据不同的使用场景控制角色的激活。
4、RBAC3
RBAC3就是整合0~2的统一模型,既包含角色控制权限的功能,也有继承和各种规则的限制。

优网科技秉承"专业团队、品质服务" 的经营理念,诚信务实的服务了近万家客户,成为众多世界500强、集团和上市公司的长期合作伙伴!
优网科技成立于2001年,擅长网站建设、网站与各类业务系统深度整合,致力于提供完善的企业互联网解决方案。优网科技提供PC端网站建设(品牌展示型、官方门户型、营销商务型、电子商务型、信息门户型、DIY体验、720全景展厅及3D虚拟仿真)、移动端应用(手机站、APP开发)、微信定制开发(微信官网、微信商城、企业微信)、微信小程序定制开发等一系列互联网应用服务。