javax.annotation.security不是基于角色的访问控制?

时间:2013-04-01 07:50:17

标签: java security annotations rbac

当我查看Role Based Access Control(RBAC)时,我看到一个模型,其中用户是一个或多个角色的成员,角色拥有授予操作的权限。也就是说,操作(例如,方法)必须确保主体授予该操作的许可。主题的角色拥有这些权限。

  [subject] * <-> * [role] * <-> * [permission] * <-> * [operation]

但是,当我查看javax.annotation.security包时,它定义了一个更简单的模型,该操作只检查角色名称。据我所知,这不是RBAC,而是等同于基于组的权限检查。管理员无法为角色分配操作,但仍然坚持开发人员决定的内容。我希望这会大大增加角色的数量,并使系统更难维护。

  [subject] * <-> * [role] * <-> * [operation]

我对此的理解是正确还是我错过了什么?

1 个答案:

答案 0 :(得分:0)

权限是(资源,操作),而不是[subject] * <-> * [role] * <-> * [permission] * <-> * [operation]

javax.annotation.security软件包很旧,而且不太灵活。您可以使用Casbin:https://casbin.org/