2010-10-09 105 views

回答

1

有许多可能的解决方案,但哪一个是最好的(即满足您的需求没有被过厚或过于复杂,难以实现)取决于您的要求:

  • 你说的是访问控制一个网络服务,还是别的什么?

  • 您希望实施什么样的访问控制?纯粹基于资源URL,还是取决于所请求实体的状态/元数据?角色是简单的还是等级的?不同的行动需要不同的角色吗?

  • 您是否还需要处理授权?

2

我假定你正在试图回答的问题是:

用户是否ü访问做手术的对象Ø

需要考虑的一件事是,您的域对象和用户组是如何从业务角度(AC机制外)定义的。对于任何RBAC实现,您需要将其配置为告诉您的用户和用户组是什么。这将影响您对RBAC实施的选择。

另一个(更具体的)问题:你需要支持覆盖权限,包括和排除?具体来说,你是否希望能够支持对象o1可用于用户组g1的场景,但不支持用户u1(谁是组g1的一部分)?

根据具体的答案,jguard(这是建立在JAAS)可能是一个非常好的选择 - http://jguard.net/

0

Fortress是符合ANSI RBAC标准的引擎(INCITS 359),并在BSD开源许可下发布。你可以从这里拉下来:http://iamfortress.org