基于角色的访问控制模型

时间:2013-09-05 16:35:39

标签: spring-security

我在构建安全问题方面更新鲜。现在我正在开发一个基于RBAC模型的项目,我选择Spring Security 3来实现它。

众所周知,每个角色在RBAC中都有自己的权限,判断用户是否有权执行操作的方法是首先获取角色,然后获取角色拥有的每个权限。我认为权限决定了操作服务层(J2EE)的权利。

Spring Security提供注释或Aspect来保护服务层。但它们都基于角色分级,例如“hasRole”。这似乎削弱了角色和权限之间的关系,因此让管理员分发权限是不灵活的。

解决此问题的常用方法是什么? Spring Security是否支持受权限保护的实现?

1 个答案:

答案 0 :(得分:0)

我认为有两种选择:

  • 角色层次结构
  • ACL模块

您可以使用role hierarchy概念来达到同样的效果。在这种情况下,在Spring Security级别,角色和权限都将表示为角色。

ACL module中有真正的权限。但它们通常用于阻止访问某些域对象实例,而不是阻止访问某些服务。所以我认为这不是你想要的。