0

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

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

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

解决这个问题的常用方法是什么?Spring Security 是否启用受权限保护的实现?

4

1 回答 1

0

我认为有两种选择:

  • 角色层次结构
  • ACL 模块

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

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

于 2013-09-06T10:08:05.313 回答