我正在开发一个使用基于角色的访问控制(RBAC)的通用用户管理系统,如果我无法区分操作表和权限表(在阅读了这么多文章之后)。
"一个主体可以有多个角色。一个角色可以有多个主体。一个角色可以有多个权限。一个权限可以分配给多个角色。一个操作可以分配多个权限。一个权限可以分配给多个操作。 "
en.wikipedia.org/wiki/Role-based_access_control
任何人都可以举一个简单的例子来区分它们吗?
我正在开发一个使用基于角色的访问控制(RBAC)的通用用户管理系统,如果我无法区分操作表和权限表(在阅读了这么多文章之后)。
"一个主体可以有多个角色。一个角色可以有多个主体。一个角色可以有多个权限。一个权限可以分配给多个角色。一个操作可以分配多个权限。一个权限可以分配给多个操作。 "
en.wikipedia.org/wiki/Role-based_access_control
任何人都可以举一个简单的例子来区分它们吗?
RBAC 标准不涉及操作,而仅涉及用户、角色和权限。我想您所指的操作是您正在使用的特定实现的一部分。它们可能是您的解决方案中实施资源的方式。
权限是执行/访问资源所需的。权限分配给角色,资源需要一组权限。
让我们以一个简单的收银管理系统为例。有许多用户(商店的员工)和许多角色,包括cashier operator
. 该角色授予用户一项权限,scan items
. 这种权限是操作所需要的item.scan()
,也是操作所需要的item.cancel()
。
在 RBAC 中,权限是对象和操作之间的映射。
例如:
customer123 <--- 这是一个对象
读取、写入、更新、删除 <--- 这些是操作
这些是可能的权限:
customer123.read、customer123.write、customer123.update、customer123.delete
在 RBAC 中,权限随后被授予角色。所以一个角色可能是:
用户
并已被授予 customer123.read
另一个角色可能是:
管理员
已被授予权限 customer123.write、customer123.update
等等
权限 - 对资源访问模式的批准。
资源 - 需要受限访问的系统对象或操作。