基于角色的访问控制,其中角色根据应用程序中的位置而变化

基于角色的访问控制,其中角色根据应用程序中的位置而变化

我的任务是为我们的系统设计一个新的基于角色的访问模型。

这些要求大致如下:

  1. 用户可以登录,并且根据他/她正在查看的客户端而拥有不同的角色。

    • 这部分很简单:客户 A -> 项目经理,客户 B -> QA 分析师,等等。
  2. 用户可以成为团队的一部分。

    • 用户 A(成员)团队 1、团队 2 等。
  3. 在我看来,这是最困难的部分。根据正在查看的项目,可以为用户分配全新的角色。

    • 客户 A --> 项目经理是用户 A 的真正角色,但对于项目 1337,用户 A 将担任 QA 分析师。

是否存在一个好的、连贯的模型来处理所有这些问题,或者我需要创建自己的模型?

答案1

这看起来并不容易,因为如果项目彼此隔离,并且用户在每个项目中的角色大不相同,那么你似乎无法利用嵌套组。我建议使用项目编号/名称和组名中的角色来标记组。例如:

  • 项目 1 PM
  • 项目 1 质量保证
  • 项目 2 PM
  • 项目 2 质量保证
  • ETC...

这样,用户 A 就可以成为项目 1 PM 组和项目 2 QA 组的成员,并根据这些成员资格获得访问权限。

我不太确定团队的目的是什么,或者您是否愿意按团队细分访问/通知,因此可能需要更多的思考。

相关内容