1小时!RBAC权限模型从入门到精通

一、权限初探

  • 使用者角度:
    • 权力和限制
      • 正确的行驶权限、
      • 在限制范围内使用权力
  • 设计者的角度
    • 安全:控制不同的角色合理的访问不同的资源

二、权限模型

  • 站在巨人的肩膀上,探究四种权限模型(ABAC和PBAC很少使用)

file

  • ACL和RBAC的对比
    • ACL是用户直接访问权限
      file
    • RBAC则是用户通过角色间接地获取权限
      file
    • RBAC的优点:
      • 简化了用户和权限的关系
      • 易扩展、易于维护

三、RBAC模型

  1. RBAC流程图
    file
  2. RBAC模块功能
    • 用户管理:用户的CRUD
    • 角色管理:角色CRUD
    • 权限管理:权限的CRU,没有删除

四、RBAC实际应用

  1. 数据库设计
    • 表结构图
      参考地址:https://github.com/apanly/rbac
      file
    • 表关系图(基础核心5张表)
      file
    • 复杂的基于RBAC的权限表关系图(细粒度)
      file
  2. RBAC级别
    • RBAC0:核心模型,其他级别都是建立在该级别的基础之上
      file
      • 会话:相当于场景,即就是用户在场景中担当什么角色
      • 一个用户最终拥有的许可=这个用户拥有的角色对应的许可集合
    • RBAC1:基于RBAC0对角色进行分层,角色会有上下级关系
      file
    • RBAC2:基于RBAC0,对角色进行了访问控制
      • 互斥角色:同一个用户不能授予互斥关系的角色,如:不能同时授予会计和出纳的角色,不能即管账又管钱
        file
    • RBAC3:基于RBAC0,并且整合了RBAC1和RBAC2,最全面也最复杂
      file
    • 任何系统中都会涉及到权限管理模块,无论复杂简单,都可以通过RBAC模型为基础,进行灵活运用来解决实际问题。
讨论数量: 1

逻辑系统,条理清晰!

4年前

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!