阅读后http://en.wikipedia.org/wiki/Role-based_access_control看到人们建立授权/访问控制的方式,我想到了这个问题“为什么我们在检查用户是否被允许执行 X 而不是检查他们的权限时检查他们的角色?”
这就是我的理解,用户有角色,角色有权限,这就是用户可以拥有权限的方式(用户不能明确分配给它的权限,它通过拥有角色来获得权限)
而且我认为在处理添加用户的请求时检查像“AddUser”这样的权限是有意义的,但是在 .Net 库中以及在 RBAC 的许多示例中,我们看到他们检查角色。就像他们检查用户是否处于管理员角色一样,而不是检查他/她是否具有“AddUser”权限。
为什么?检查权限对我来说更有意义。
有人可以在这里照亮我吗?
谢谢
最佳答案
您是对的 - 检查应用程序中的角色而不是权限不是基于角色的访问控制。 Spring 安全和许多其他突出的访问控制机制传播了这种安全反模式。为了正确使用 RBAC - 在您的策略实现逻辑中执行权限检查。
关于security - 基于角色的访问控制 (RBAC) 关心权限还是角色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20979090/