目录

1.RABC模型

2. ABAC 模型

3. ACL模型

4. 总结


在管理系统中会涉及到很多用户权限相关问题,对于不同的平台所使用的的权限管理模型也是多样的。

1.RABC模型

该模型是基于角色的权限管理模型       

(RBAC, Role Based Access Control)

角色的概念就是对用户的一个升级,管理者不需要考虑用户和权限关系。只需要给用户某种角色,然后对角色授予或者取消对应权限。模型构建相对复杂,但是在用户数量大的情况下,还是需要维护角色和权限关系,以及用户和角色关系。

RBAC的表结构包括,用户user表、角色role表、权限节点node表和用户user和角色role多对多关系的user_role表及角色role和节点多对多关系的role_node表,共5张表。

2. ABAC 模型

该模型基于属性的权限管理模型 

(ABAC, Attribute Based Access Control)

ABAC对用户本身的属性进行标识,通过标识来判断用户权限。这样的设计使得ABAC非常灵活,可扩展性也很高。

ABAC一般来说,都是搭配着ACL或RBAC一起使用,不会单独成体系。在设计中,只需要在user表中加入对应字段即可,例如:某平台只允许25到50岁之间的用户注册,那么需要在user表中加入age字段。

3. ACL模型

该模型基于用户的权限管理模型

(ACL, Access Control List)

基于用户的概念就是说直接对用户进行权限分配管理,好处是模型构建简单,只需要给用户授予或者取消对应权限即可。但是相对的,如果用户数量庞大的情况下,这套模型就很不实用。因为需要对每一位用户对应权限进行维护,这导致维护成本太高。

ACL模型表结构很简单,只需要用户user表和权限节点node以及user和node的多对多关系表user_node。同时,只需要维护user_node表中user和node关系即可。

ACL的适用于用户数量较小的管理系统中,例如:1班有40位同学,张三拥有班长权限、李四拥有学委权限、王五拥有纪委权限,其它同学只拥有普通权限。

在ACL权限模型下,权限管理是围绕资源来设定的

4. 总结

这三种权限管理模型,也可以说是设计理念;

在web后端的开发中都是以用户为主体,构建起来都较为简单。

当然,它们各自都有优缺,只是两权相难取其轻,具体开发过程中还需要权衡开发成本而选择。

【概念】权限管理模型(RBAC、ABAC、ACL)相关推荐

  1. 权限管理模型 ---- ACL、RBAC和ABAC(详解)

    前言 在管理系统中会涉及到很多用户权限相关问题,对于不同的平台所使用的的权限管理模型也是多样的. ACL 基于用户的权限管理模型 基于用户的概念就是说直接对用户进行权限分配管理,好处是模型构建简单,只 ...

  2. php acl rbac,建站常用的用户权限管理模型ACL和RBAC的区别

    常用的权限管理模型ACL和RBAC的区别 1.ACL ACL是最早也是最基本的一种访问控制机制,它的原理非常简单:每一项资源,都配有一个列表,这个列表记录的就是哪些用户可以对这项资源执行CRUD中的那 ...

  3. Spring Security 中最流行的权限管理模型!

    前面和大家说了 ACL,讲了理论,也给了一个完整的案例,相信小伙伴们对于 ACL 权限控制模型都已经比较了解了. 本文我要和大家聊一聊另外一个非常流行的权限管理模型,那就是 RBAC. 1.RBAC ...

  4. 杂项-权限管理:RBAC

    ylbtech-杂项-权限管理:RBAC 基于角色的权限访问控制(Role-Based Access Control)作为传统访问控制(自主访问,强制访问)的有前景的代替受到广泛的关注.在RBAC中, ...

  5. 基于角色的权限控制模型RBAC

    本文来说下基于角色的权限控制模型RBAC 文章目录 概述 RBAC权限模型简介 RBAC的演化进程 用户与权限直接关联 一个用户拥有一个角色 一个用户一个或多个角色 页面访问权限与操作权限 数据权限 ...

  6. Android动态权限管理模型(4.3-6.0)

    Google从4.3开始就试图引入AppOpsManager动态权限管理模型,但是,由于感觉技术不太成熟,在Release版本中,这个功能都是被隐藏掉的,所以官方Rom一直没有动态权限管理机制.直到A ...

  7. 宅急送项目的第七天笔记!(JBPM工作流和介绍 -- 权限管理模型)

    一.回顾第一天核心内容  1. JBPM是什么? 为我的项目带来什么?  工作流, 就是将业务流程实现自动化,非人工方式,控制任务的执行 -------- 所有业务流程 执行信息 都可以存放到数据库 ...

  8. openGauss数据库权限管理模型(下)

    openGauss数据库采用基于角色的权限访问控制模型,除了在openGauss数据库权限管理模型(上)中介绍的基本系统权限和对象权限的划分外,还有一些高阶的权限管理机制用来满足客户的业务诉求. 1 ...

  9. 项目权限管理大纲(RBAC+SpringSecurity)

    这里写目录标题 资源,权限,角色,用户 RBAC 数据表设计 SpringSecurity配合RBAC补全权限验证 背景: 基本实现步骤 实现记住我功能 实现SpringSecurity版验证码登录 ...

最新文章

  1. s3c2410下利用TL16C554扩展4个全功能串口
  2. php链接数据库实行增删查改_利用PHP连接数据库——实现用户数据的增删改查的整体操作实例...
  3. 倒车辅助Park Assist
  4. 16.1116 NOIP 考前模拟(信心题)
  5. 共享数据库、独立 Schema
  6. eclipse找不到dynamic_Eclipse Juno在Dynamic Web Project中没有JSP(但其他...
  7. vue脚手架vue数据交互_学习Vue:3分钟的交互式Vue JS教程
  8. tif 高程_使用ArcGIS提取高程点
  9. html如何算小于0判断错误,如果长度小于0在javascript中提醒
  10. Linux中远程文件的传输
  11. 文本分类模型_多标签文本分类、情感倾向分析、文本实体抽取模型如何定制?...
  12. nodejs修改不重启服务器,nodejs连接数据库,数据库发生变化,怎样不用重启服务器更新网页内容?...
  13. Eclipse的Ctrl+Shift+R中过滤文件类型
  14. tarjan求桥、割顶
  15. Java测试Redis连通性
  16. python launcher下载_Python flauncher包_程序模块 - PyPI - Python中文网
  17. 【Xilinx FPGA】vivado工具下载安装
  18. 视频号户外直播备受用户及主播青睐
  19. 南师大计算机专硕士复试分数线,南京师范大学2020年硕士研究生复试分数线的通知...
  20. 数据结构与算法分析——第五章、第六章

热门文章

  1. SecureCRT连接开发板
  2. neuq oj 1034: C基础-求同存异 C++
  3. Messaging——Solace PubSub+
  4. 加入域时提示“不能访问网络位置”
  5. 如何使用远程桌面连接云服务器 (以阿里云为例)
  6. 基础数学知识(一)——拉格朗日乘子法
  7. 概率论与数理统计:六大基本分布及其期望和方差
  8. LBP算法的一些讲解
  9. 网络流量分析/网络流量监测
  10. 错误解决:hive报错Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask