我有一个包含EJB的企业应用程序,并且还有一些REST apis。我也有一些其他服务消耗我的bean e:g ui服务。我的EJB使用基于角色的注释i:e RolesAllowed
,DeclareRoles
进行注释。我的应用程序中也有一些REST API,我需要对少数资源进行访问控制,并使其他API具有不受限制的访问权限。
在这种情况下应该实施RBAC吗?在bean级别或REST API级别?
答案 0 :(得分:2)
以下是回复的一些要素:
最重要的是,您最重要的是将自动化逻辑集中到一个存储库中:这可以是一组角色和权限(在rbac中定义)或一组策略(在{{中定义) 3}})。然后,您在API层和/或EJB层中执行的操作将调用该集中位置以检查授权。
查看此图表(源自abac。它表明,只要您呼叫外部决策点或持续管理,您就可以在您认为必要的任何地方应用授权检查您在不同系统中的角色: