基于角色的访问控制
答
有许多可能的解决方案,但哪一个是最好的(即满足您的需求没有被过厚或过于复杂,难以实现)取决于您的要求:
你说的是访问控制一个网络服务,还是别的什么?
您希望实施什么样的访问控制?纯粹基于资源URL,还是取决于所请求实体的状态/元数据?角色是简单的还是等级的?不同的行动需要不同的角色吗?
您是否还需要处理授权?
答
我假定你正在试图回答的问题是:
用户是否ü有访问做手术运的对象Ø?
需要考虑的一件事是,您的域对象和用户组是如何从业务角度(AC机制外)定义的。对于任何RBAC实现,您需要将其配置为告诉您的用户和用户组是什么。这将影响您对RBAC实施的选择。
另一个(更具体的)问题:你需要支持覆盖权限,包括和排除?具体来说,你是否希望能够支持对象o1可用于用户组g1的场景,但不支持用户u1(谁是组g1的一部分)?
根据具体的答案,jguard(这是建立在JAAS)可能是一个非常好的选择 - http://jguard.net/