hgu*_*ser 7 authentication access-control rbac
我正在学习Apache Shiro,我找到了这篇文章:
作者说:
.......如果需要,您可以直接将行为(权限)分配给角色.从这个意义上讲,您仍然可以使用基于角色的访问控制安全策略 - 只是您将拥有显式RBAC策略而不是传统的隐式策略.
但这引出了一个问题 - 为什么要停止角色?您可以将行为直接分配给用户,组,或安全策略可能允许的任何其他内容.
似乎作者更喜欢直接存储用户和权限的关系而不是通过角色.
虽然看起来简单明了,但我有一些问题:
两个人之间是否有任何本质区别?
数据库架构.
在基于角色的访问控制中,通常我们使用三个表来描述关系:
user
role
user_role
Run Code Online (Sandbox Code Playgroud)
不,如果我使用基于资源的访问控制,构建表的常规做法是什么?
Dav*_*ard 10
这是我第一次听说基于资源的访问控制.
沿着这条路走我会非常小心.在授权领域,基本上有两个标准:
基于资源的访问控制似乎是Stormpath发明的模型,仅由它们支持.它可能是好的,但它只适用于他们的环境.
基于角色和基于属性的访问控制是NIST和其他标准化机构(如OASIS(其中SAML和XACML在10年前定义并且今天仍然受支持)支持的公认范例.
问题是:为什么基于角色的访问控制对您来说不够?你有角色爆炸问题吗?它表达不够吗?您是否需要实现用户,资源和上下文之间的关系?
ABAC和XACML可以让你这样做.我在YouTube上发布了一段简单的视频,处理基于属性的访问控制.有一个看看.
底线是RBAC和ABAC是跨多个应用程序和层的标准.基于资源的访问控制仅适用于Apache Shiro.
| 归档时间: |
|
| 查看次数: |
6641 次 |
| 最近记录: |