https://zhuanlan.zhihu.com/p/34608415

权限系统的基本构成

权限系统主要由三个要素构成:帐号,角色,权限。

帐号是登录系统的唯一身份识别,一个账号代表一个用户。由自己注册或系统管理员统一注册分配。

角色,为账号批量分配权限。在一个系统中,不可能为每个帐号订制权限,所以给同一类帐号赋予一个“角色”,以达到批量分配权限的目的。

权限又分为操作权限,页面权限和数据权限。

其中操作权限指的是用户可以进行的操作,例如是否可以新增、删除、编辑等。页面权限指的是可以看到的页面。数据权限指的是可以查看数据的范围。

角色继承:例如角色1,角色2,角色3在于角色建立上下级关系后,鉴权授权的前提下会对下属san个角色进行权限继承。而继承的方式又分为"一般继承"和"受限继承"

RBAC四种模型    RBAC0 、RBAC1、RBAC2、RBAC3

  1. RBAC0:是RBAC的核心思想    最简单、最原始的实现方式,也是其他RBAC模型的基础   用户和角色是多对多,角色和权限是多对多。一个用户拥有的权限,是他所有角色的集合。
  2. RBAC1:RBAC基础上增加了角色分层模型,即进行了角色上下级区分 ,基于RBAC0模型,引入了角色间的继承关系,角色上有了上下级的区别
  3. RBAC2:RBAC基础上增加了约束模型,什么是约束呢,就是账号想要获得高级权限,必须先拥有低级权限,否则无法命定
  4. RBAC3:RBAC基础上增加了约束模型,什么是约束呢,就是账号想要获得高级权限,必须先拥有低级权限,否则无法命定

R(角色Role)

B(基于Based)

A(访问Acces)

C(控制Control)

权限RBAC、RBAC0 、RBAC1、RBAC2的更多相关文章

  1. CRM系统知识点之一权限(RBAC)

    一个项目可以有多个应用 一个做成组件 一个做逻辑判断一个应用(做成组件形式)可以服务于多个项目 rbac权限(role-base access control)who what how什么样的角色对什 ...

  2. k8s结合jumpserver做kubectl权限控制 用户在多个namespaces的访问权限 rbac权限控制

    圈子太小,做人留一面,日后好相见. 其实这个文章就是用户用jumpserver登录到k8s master节点 然后执行kubectl的时候只有自己namespaces的所有权限. 背景 1,k8s 有 ...

  3. 开源干货!!!.NET Core + JWT令牌认证 + Vue.js(iview-admin) 通用动态权限(RBAC)管理系统框架[DncZeus]开源啦!!!

    DncZeus 前言 关于 DncZeus DncZeus = Dnc + Zeus "Dnc"--.Net Core 的缩写: "Zeus"--中文译为宙斯, ...

  4. 角色用户权限RBAC

    关于角色.用户.权限的表设计,已经成为经典中的经典,到处都在用,这里只是收录一下: 角色表:{role_id,role_name} 用户表:{user_id,user_name} 权限表:{permi ...

  5. MASA Auth - 权限设计

    权限术语 Subject:用户,用户组 Action:对Object的操作,如增删改查等 Object:权限作用的对象,也可以理解为资源 Effect:规则的作用,如允许,拒绝 Condition:生 ...

  6. RBAC-权限管理设计

    1.RBAC(Role-Based Access Control)——基于角色的访问控制.简单来说每个角色有不同的权限,通过对用户赋予不同角色来赋予其对应权限. 2.RBAC0:最基本的用户角色多对多 ...

  7. 后台设计的基石:用户权限管理(RBAC)及工作流(workflow)模型

    后台产品同学在设计后台时,会发现一般后台的各个功能模块总结起来有两大类型:功能类.流程类.在设计功能或流程前都需要预判不同的使用角色对应不同权限,设计流程前则还得思考最基本的工作流原理. 用户权限是设 ...

  8. RBAC 介绍 (权限)

    RBAC是什么? RBAC是基于角色的访问控制(Role-Based Access Control )在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限.这就极大地简化了权 ...

  9. 转:RBAC如何设计一个权限系统

    前言 权限管理是所有后台系统的都会涉及的一个重要组成部分,主要目的是对不同的人访问资源进行权限的控制,避免因权限控制缺失或操作不当引发的风险问题,如操作错误,隐私数据泄露等问题.目前在公司负责权限这块 ...

  10. RBAC 权限管理模型

    一.RBAC模型--基于角色的访问控制 什么是RBAC RBAC(Role-Based Access Control)基于角色的访问控制.这是从传统的权限模型的基础之上,改进而来并且相当成熟的权限模型 ...

随机推荐

  1. c++学习9 结构体

    一 结构体赋值 结构体赋值的方法有三种,逐个成员赋值,整体赋值和拷贝赋值. 设一个结构体有struck student{ int age;char ch[32]; }: 逐个成员赋值:student ...

  2. 【逆向】CVE-2017-8570漏洞分析调试技巧

    前言 CVE-2017-8570是一个逻辑型漏洞,该漏洞利用复合Moniker绕过了CVE-2017-0199的更新补丁,可以在Office文档中执行任意SCT(Windows Script Comp ...

  3. 【APT】响尾蛇(SideWinder)Hta文件自动解密C2

    前言 一个用于从SideWinder APT组织常用的hat文件中解密C2链接地址的Python脚本,示例代码对一些老的hat文件效果比较好,新的样本可能需要根据实际情况修改下,最初是用于对VT上命中 ...

  4. 三大常用集群leader选举+哨兵模式原理

    一,Zookeeper集群的leader选举 Zookeeper的选举机制两个触发条件:集群启动阶段和集群运行阶段leader挂机(这2种场景下选举的流程基本一致) 1,Zookeeper集群中的fo ...

  5. Deformable DETR (ICLR2021)

    Pre-Trained Image Processing Transformer paper:https://arxiv.org/abs/2010.04159 code:https://github. ...

  6. html-list

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  7. vue下载图片

      async works(obj) {       await this.axios({         method: 'get',         url: `entryFormControll ...

  8. aop的一些方注释介绍

    //定义切入点 @Pointcut("execution(void com.itheima.dao.BookDao.update())") private void pt2(){} ...

  9. vector的使用方法

    vector是STL容器的可变长度数组.可变长度数组的头文件是<vector>,有以下常见的使用方法: 1.vector<int> v(N,i):建立一个可变长度数组v,内部元 ...

  10. manjaro安装后配置与美化

    时间同步 sudo timedatectl set-ntp true 换源 sudo pacman-mirrors -i -c China -m rank 更新 更新系统 sudo pacman -S ...