1

当我查看基于角色的访问控制(RBAC) 时,我看到了一个模型,其中用户是一个或多个角色的成员,并且角色拥有授予操作的权限。也就是说,操作(例如方法)必须确保主体授予该操作的权限。主体的角色拥有这些权限。

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

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

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

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

4

1 回答 1

0

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

包装很旧,javax.annotation.security不是很灵活。您可以使用 Casbin:https ://casbin.org/

于 2019-07-13T04:47:55.093 回答