【发布时间】:2021-03-01 15:47:59
【问题描述】:
用户具有 company_id 和与任务的多对多关系。 每个用户都有一个角色。 每个角色都有权限。
管理员应该能够查看公司内的所有任务。 用户应该只能看到自己在公司内的任务。
每种方法的缺陷是什么?
- 创建任务时将所有管理员分配给 m2m
- 在管理员角色中包含一个 see_all_tasks 权限
【问题讨论】:
标签: permissions multi-tenant user-permissions
用户具有 company_id 和与任务的多对多关系。 每个用户都有一个角色。 每个角色都有权限。
管理员应该能够查看公司内的所有任务。 用户应该只能看到自己在公司内的任务。
每种方法的缺陷是什么?
【问题讨论】:
标签: permissions multi-tenant user-permissions
鉴于您已经在应用程序中配置了角色和权限。您应该为用户分配针对公司的角色,例如管理员将在所有公司中拥有Administrator 角色。
应用程序中的任何用户都将在每个公司中拥有一个角色,允许他在公司环境中执行他的任务。
例如:我可以成为 CompanyA 的 Admin 和 CompanyB 的 Enduser。这应该会给你想要的结果。
如果要在所有公司中显示一个合并的任务列表,我将根据 companyId 汇总每个任务的角色,然后强制执行权限。
【讨论】: