2017-08-19 40 views
0

我们需要修改现有应用程序的RBAC模型引入团队的概念。目前,我们可以根据权限集创建新角色,并为用户分配多个角色。团队的想法是根据角色拥有层次结构。假设我们有四个角色:队基于角色的访问控制模型

  1. 投资者
  2. 经理
  3. 团队负责
  4. 工程师

一支球队可以有任意数量的用户从所有这些角色之间。所以可以有2个投资者,4个经理,2个团队领导和6个工程师。我们必须根据团队中的角色来运行我们的业务逻辑。

按我的理解,这需要我们去解决角色的数量,因为如果我们不知道用户正在创建那么我们不能在团队运行我们所需的业务逻辑何种角色。但是,我觉得限制角色并根据角色应用授权检查并不是一个好方法。在这种情况下更好的方法是什么?

+0

什么是您的应用考虑 - 角色,权限或团队? –

+0

它需要的权限中考虑。如果我们允许自定义角色,那么用户将能够设置与组角色相冲突的随机权限。要么我就必须添加权限,如“CanBeManager”或“CanLeadTeam”,然后以此为基础的权限检查或与只有有限的默认角色去。 – Saad

回答

0

看起来你的最小公分母的许可。所以我会去权限。根据权限允许/拒绝/限制。角色将拥有一对多权限。取决于你的模型的用户可以有一个或多个角色。而团队只是标签。