小编sal*_*k31的帖子

Spring Security和ABAC(基于属性的访问控制)

我们有一个中等规模的商业应用程序,我们大量使用Spring Security角色和权限(RBAC)来为某些实例打开和关闭角色以及隐藏在@PreAuthorize标记内的SpEL中的规则.

我认为我们实际实施了什么(不知道它是ABAC).XACML看起来非常复杂和臃肿,所以我不喜欢这里的答案:

如何通过上下文更改Spring Security角色?

有没有人在没有XACML的情况下完成了轻量级的ABAC实施?我希望能够让我们分离关注点,因为域对象只是做@PreAuthorize(WRITE)等,我们的授权策略将与它分离.

从我读过的内容来看,ABAC的基本原理非常简单.您有一个Action(非常像Permission)和一种机制来解决当前Principal是否具有给定Subject的权限.

我知道AccessDecisionVoter大致是正确的接口类型,但我不认为它是用于对权限进行投票.然而,实施我们的授权政策与这样的事件似乎非常有吸引力.

抱歉这个漫无边际的问题!基本上我对ABAC很感兴趣,但我想避免家酿,但担心当我们需要Cessna时XACML是一架大型喷气式飞机.

spring-security rbac xacml abac

11
推荐指数
2
解决办法
7159
查看次数

标签 统计

abac ×1

rbac ×1

spring-security ×1

xacml ×1