RBAC模型的核心是在用户和权限之间引入了角色的概念,将用户和权限进行解耦,采用用户确定角色,角色分配权限,进而间接达到给用户分配角色的目的
这样采用的方式优点在于
(1)降低管理成本——由于一个角色可以对应更多人员,则统一对角色进行权限分配管理而不是对人员直接进行权限的分配管理,可以减少管理上的成本和出错概率,更加符合企业管理的方式;
(2)权责分配明确——将用户群分为明确的角色群体,对角色群体统一进行权限分配,明确客户的权限及相对应的责任,相对于原来的“用户——权限”的模型在权责进行了更细粒度的权责划分规划;
(3)权责分配更谨慎——由于角色下的用户一般为多人,则在分配权限时需要谨慎又明确的分配操作
                                      图片来自人人都是产品经理
 
确定RBAC的概念后,接下来确定下用户和角色之间的关系:
确定用户和角色的关系之前,首先明确用户和角色的定义,用户即数据库中的实体,例如“胡凯”,“一个注册的用户账号”等,而角色则是对一定数量权限的集合,是权限的表达载体,如操作系统中的“超级管理员,管理员,运营人员,开发人员等”。
用户和角色之间存在两种关系:多对一,多对多两种关系;在现实生活中一般以多对多的关系为主,具体情况需要具体分析,假如一家公司的一位人员只对应一个角色时,则这时可以采用一对一的模型
从业务上分析:
     多对一的模型
           下图中,一个人只有一个角色,但是一个角色可以对应多个用户,如产品经理这个角色的用户有张轩和徐峰两人
             
    多对多的模型
         下图中,一个人可以拥有不同的角色,统一个角色也可以对应不同的用户,如徐峰不仅是产品经理,同样也是python开发工程师,这样用户和角色的关系就进一步发展到了多对多的关系
       
从数据库角度来分析:
      RBAC的模型可以采用下图的数据库模式,用户表和用户—角色关联表通过用户id建立关系,同时用户-角色关联表和角色表通过角色id建立关系,达到了用户表和角色表之间的关系的建立;同理角色表和权限表之间通过角色权限关联表建立起关系,到这一步,就可以看到用户表和权限表通过角色表建立起了一种间接的关系
                                            RBAC的数据库模型
 
 
 
 
 
 
 
 

RBAC(Role-Based Access Control,基于角色的权限访问控制)—权限管理设计的更多相关文章

  1. RBAC(Role-Based Access Control)基于角色的访问控制

    RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成"用 ...

  2. Azure ARM (16) 基于角色的访问控制 (Role Based Access Control, RBAC) - 使用默认的Role

    <Windows Azure Platform 系列文章目录> 今天上午刚刚和客户沟通过,趁热打铁写一篇Blog. 熟悉Microsoft Azure平台的读者都知道,在老的Classic ...

  3. RABC(Role-Based Access Control) 基于角色的权限访问控制

    基于角色的权限访问控制(Role-Based Access Control),通过角色绑定权限,然后给用户划分角色.在web应用中,可以将权限理解为url,一个权限对应一个url. 使用thinkph ...

  4. Azure ARM (17) 基于角色的访问控制 (Role Based Access Control, RBAC) - 自定义Role

    <Windows Azure Platform 系列文章目录> 在上面一篇博客中,笔者介绍了如何在RBAC里面,设置默认的Role. 这里笔者将介绍如何使用自定的Role. 主要内容有: ...

  5. [认证授权] 6.Permission Based Access Control

    在前面5篇博客中介绍了OAuth2和OIDC(OpenId Connect),其作用是授权和认证.那么当我们得到OAuth2的Access Token或者OIDC的Id Token之后,我们的资源服务 ...

  6. RBAC(Role-Based Access Control,基于角色的访问控制)

    RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成“用户-角色- ...

  7. Azure RBAC(Roles Based Access Control)正式上线了

    期盼已久的Azure RBAC(Roles Based Access Control)正式上线了. 在非常多情况下.客户须要对各种类型的用户加以区分,以便做出适当的授权决定.基于角色的訪问控制 (RB ...

  8. Custom Roles Based Access Control (RBAC) in ASP.NET MVC Applications - Part 1 (Framework Introduction)

    https://www.codeproject.com/Articles/875547/Custom-Roles-Based-Access-Control-RBAC-in-ASP-NET Introd ...

  9. Risk Adaptive Information Flow Based Access Control

    Systems and methods are provided to manage risk associated with access to information within a given ...

随机推荐

  1. Yii2之属性

    一直以来,在我的理解中,类的成员变量和属性就是同一个东西,直到看了<深入理解Yii2.0>才明白,类的成员变量和属性其实不是同一个概念,成员变量是就类的结构构成而言的概念,而属性是就类的功 ...

  2. Linux系统网络基本配置

    1. ifconfig命令的使用: (1)查看所有网卡基本信息:ifconfig (2)查看特定网卡信息:ifconfig (网卡名,如:eht0) (3)停止网卡设备服务:ifconfig (网卡名 ...

  3. JavaWeb之Eclipse中使用Maven构建SpringMVC项目

    为了学习spring和maven我这也是拼了老命了,光使用maven配置springmvc我花了上周一周的时间,下班回来就搞,一直有bug,一个bug接着一个,昨天一整天都在解决配置的问题,让大学同学 ...

  4. swift 之函数式编程(一)

    1. 什么是函数式编程? 函数式编程是阿隆佐思想的在现实世界中的实现, 它将电脑运算视为数学上的函数计算,并且避免使用程序状态以及异变物件. 函数式编程的最重要基础是λ演算.而且λ演算的函數可以接受函 ...

  5. bug:逆向思维的延伸

    哈哈,我又来了. 前段时间自己出了一个bug,说起来也属于比较常见的类型 A业务需要做一个活动,需要B业务判断,如果是通过A业务跳转至B业务的用户,则在B页面给这类用户展示一个对应的弹窗.(A是新增业 ...

  6. trait与policy模板技术

    trait与policy模板技术 我们知道,类有属性(即数据)和操作两个方面.同样模板也有自己的属性(特别是模板参数类型的一些具体特征,即trait)和算法策略(policy,即模板内部的操作逻辑). ...

  7. Catch him

    Problem Description 在美式足球中,四分卫负责指挥整只球队的进攻战术和跑位,以及给接球员传球的任务.四分卫是一只球队进攻组最重要的球员,而且一般身体都相对比较弱小,所以通常球队会安排 ...

  8. John

    John Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Submissi ...

  9. SQL Server 数据类型转换函数

    T-SQL提供了两个显示转换的函数:CAST函数和CONVERT函数. 1. CAST函数 语法: CAST ( expression AS data_type [ ( length ) ] ) 示例 ...

  10. js跨域问题解决方案

     跨域:当协议.域名.端口号任何一个不相同时,叫称为跨域.   HTML5  CORS(cross-origin-resource-sharing)跨域资源共享: 原理:当需要访问跨域的资源时,可以通 ...