当前位置: 首页 > 知识库问答 >
问题:

RBAC上的操作和权限之间的差异

从阎宝
2023-03-14

我正在使用基于角色的访问控制(RBAC)开发一个通用的用户管理系统,但我无法区分操作表和权限表(在阅读了这么多文章之后)。

“一个主题可以有多个角色。一个角色可以有多个主题。一个角色可以有多个权限。一个权限可以分配给多个角色。一个操作可以分配多个权限。一个权限可以分配给多个操作。”

EN维基百科。org/wiki/基于角色的访问控制

有人能举个简单的例子来区分它们吗?

共有3个答案

吕寒
2023-03-14

权限-对资源访问模式的批准
资源-需要受限访问的系统对象或操作。

公羊浩阔
2023-03-14

在RBAC中,权限是对象和操作之间的映射。

例如:

顾客123

读、写、更新、删除

以下是可能的权限:

customer123.readcustomer123.writecustomer123.updatecustomer123.delete

在RBAC中,然后将权限授予角色。所以一个角色可能是:

使用者

并被授予customer123.read

另一个角色可能是:

管理员

已授予customer123权限的。写,顾客123。使现代化

等等

戚升
2023-03-14

RBAC标准不涉及操作,只涉及用户、角色和权限。我认为您所指的操作是您正在使用的特定实现的一部分。它们可能是在解决方案中实现资源的方式。

权限是执行/访问资源所需的权限。权限分配给角色,资源需要一组权限。

让我们以一个简单的收银台管理系统为例。有许多用户(商店的员工)和许多角色,包括出纳操作员。该角色给用户一个权限,扫描项目。操作项需要此权限。scan(),也可以通过操作项进行扫描。取消()

 类似资料:
  • 我使用嵌套集模型处理对象的层次结构。我想为单个对象上的CRUD操作设置权限。作为管理访问权限的系统,我使用PHP RBAC。我怎样才能解决这个问题? 经过对问题的一些分析,我决定为对象上的每个CRUD操作创建四个权限树并单独获取每个权限是可能的,但我认为这不是最好的解决方案。 作为替代方案,我考虑使用一个premissions树,其中的节点对应于操作“read”,每个节点都有子元素“create”

  • 我正在尝试在一个网站上实现RBAC(基于角色的访问控制)。 问题是嵌套对象的权限。 假设我们在网站上有一些项目。每个用户在每个项目中都可以有一个角色。例如,user1在project1中具有admin角色,在Project2中具有customer角色。 例如,admin角色包含一些权限,如添加子项目、删除子项目等。 我读过的关于RBAC的所有文档都定义了一般的权限,如添加子项目,但当用户具有此权限

  • 问题内容: 很快就有两个相等运算符:double equals( )和Triple equals( ),两者之间有什么区别? 问题答案: 简而言之: 操作员检查其实例值是否相等, 操作员检查引用是否指向同一实例, 长答案: 类是引用类型,可能有多个常量和变量在幕后引用类的同一单个实例。类引用保留在运行时堆栈(RTS)中,其实例保留在内存的堆区域中。当您控制平等时, 这意味着它们的实例是否彼此相等。

  • 我编写了一个简单的脚本,它接受任意数量的参数来演示< code>$@和< code>$*之间的区别: 在我做的 CLI 上 这就是打印出来的 因为它们是相同的,这是否意味着等于?还是我遗漏了一点?

  • 问题内容: package main 该代码可以很好地工作。但是,如果按如下所示更改方法,则会导致死循环。区别在于将替换为。为什么? 问题答案: 因为程序包检查要打印的值是否具有方法(或换句话说:是否实现接口),如果是,则将调用它以获取值的表示形式。 软件包doc中对此进行了说明: […]如果操作数实现String()字符串方法,则将调用该方法将对象转换为字符串,然后根据动词的要求对其进行格式化(

  • 我正在通过做微控制器项目来自学C++。我当前的项目是使用一对或Adafruit羽毛分组无线电。无线电数据包的库函数需要一个C样式的字符串(我相信),我理解它是一个char的数组。 我已经设置了一个枚举来反映接收方的各种操作,并希望将该状态发送回发送方。所以我想把枚举变成char的数组。 在搜索将枚举转换为char数组的方法时,最简单的方法(对我来说)是将枚举变量传递给带有switch语句的函数,该