读后http://en.wikipedia.org/wiki/Role-based_access_control看到人们建立授权/访问控制的方式,我想到了这个问题:“为什么我们在检查用户是否被允许执行X操作时检查用户的角色,而不是检查他们的权限?”
这就是我所理解的,用户有角色,角色有权限,这就是用户可以拥有权限的方式(用户不能明确地拥有分配给它的权限,它通过拥有角色获得权限)
我认为,在处理添加用户的请求时,检查像“AddUser”这样的权限是有意义的,但在中。Net库以及RBAC中的许多示例中,我们看到它们检查角色。就像他们检查用户是否是管理员,而不是检查他/她是否有“AddUser”权限一样。
为什么?检查权限对我来说更有意义。
有人能在这里给我点灯吗?
谢谢
如果我们简化RBAC系统,RBAC是一种基于组织用户权限限制对“某些源或应用程序或应用程序的某些功能”的访问的方法。在这里,可以通过多个权限进行限制,这些权限由管理员创建以限制访问,这些权限共同表示将分配给用户的角色。
对于您的案例,您可能部分正确:)
但是考虑一个复杂应用程序的情况,其中有200个权限,管理员需要定义几个权限来通过角色来表示特定的行为,这将为该用户创建一些复杂的定制和重新呈现表单。
在这里,可能需要通过'HasRole('某些角色')'方法来检查以定义用户的确切行为。
因此,我的答案是,这两种方法在RBAC中同样重要。
1)权限('permissionName')
2) HasRole('roleName')
一个好的RBAC解决方案应该提供这两种方法。市场上有这样的工具,你可以去查一下。
您是正确的-检查应用程序中的角色而不是权限不是基于角色的访问控制。Spring Security和许多其他突出的权限改造机制传播这种安全反模式。要正确使用RBAC,请在策略实施逻辑中执行权限检查。
以下内容是 xingzhou 对 kubernetes 官方文档的翻译,原文地址 https://k8smeetup.github.io/docs/admin/authorization/rbac/ 基于角色的访问控制(Role-Based Access Control, 即”RBAC”)使用”rbac.authorization.k8s.io” API Group实现授权决策,允许管理员通过Ku
我目前正在学习MEAN堆栈,开发一个简单的TODO应用程序,并希望为此实现基于角色的访问控制(RBAC)。我怎么设置角色 我想要3个角色(角色可能看起来很有趣,但这纯粹是为了学习): 上帝 超级英雄 人 GOD-类似于超级管理员,可以在应用程序中做任何事情。C, R, U, D权限适用于TODO和其他用户。可以创建一个TODO 超级英雄——类似于管理员,有超能力在他的个人数据上做任何事情——对于T
问题内容: 是否可以使用任何基于角色的开源访问控制系统? 问题答案: 布兰登·萨维奇(Brandon Savage)在他的PHP软件包“ ApplicationACL ” 上做了一个演示,该演示可能会或可能不会完成基于角色的访问。PHPGACL可能也能正常工作,但是我不能肯定地告诉您。 但是,我可以告诉您的是Zend Framework 的Zend_ACL组件将执行基于角色的设置(但是您必须子类化
角色定义 [role_definition] 是RBAC角色继承关系的定义。 Casbin 支持 RBAC 系统的多个实例, 例如, 用户可以具有角色及其继承关系, 资源也可以具有角色及其继承关系。 这两个 RBAC 系统不会互相干扰。 此部分是可选的。 如果在模型中不使用 RBAC 角色, 则省略此部分。 [role_definition] g = _, _ g2 = _, _ 上述角色定义表
使用CBAC和RBAC的主要好处是什么?什么时候使用CBAC更好,什么时候使用RBAC更好? 我试图理解CBAC模型的一般概念,但总体思路对我来说仍然不清楚。
一个更友好的域内基于角色的访问控制的API。 这个API是Management API的子集。 RBAC用户可以使用这个API来简化代码。 参考 全局变量 e 是 Enforcer 实例。GoNode.jsPHP.NETRust e, err := NewEnforcer("examples/rbac_model.conf", "examples/rbac_policy.csv") const