当我查看基于角色的访问控制(RBAC) 时,我看到了一个模型,其中用户是一个或多个角色的成员,并且角色拥有授予操作的权限。也就是说,操作(例如方法)必须确保主体授予该操作的权限。主体的角色拥有这些权限。
[subject] * <-> * [role] * <-> * [permission] * <-> * [operation]
但是,当我查看 javax.annotation.security 包时,它定义了一个更简单的模型,该操作只检查角色名称。据我所知,这不是 RBAC,而是相当于基于组的权限检查。管理员无法将操作分配给角色,但仍坚持开发人员的决定。我希望这会显着增加角色的数量,并使系统更难维护。
[subject] * <-> * [role] * <-> * [operation]
我对此的理解是正确的还是我错过了什么?