如何在 laravel spatie 中分配多个角色和基于多个角色的权限?

Posted

技术标签:

【中文标题】如何在 laravel spatie 中分配多个角色和基于多个角色的权限?【英文标题】:How to assign multiple roles and multiple roles based permissions uning laravel spatie? 【发布时间】:2021-08-26 09:49:15 【问题描述】:

我正在开发一个 laravel 项目,该项目对以下用户具有基于角色的访问权限:

1 admin -> all permissions
2 creator -> add, edit and remove members
3 finance -> add fund, update fund

the problem is, a user, say "XYZ" has multiple roles like creator and finance and another user "PQR" has only finance

通过使用“Spatie laravel 权限”如何实现?

【问题讨论】:

一个用户可以有多个角色,在他们的文档中阅读更多内容:spatie.be/docs/laravel-permission/v4/basic-usage/… 您可以简单地将多个角色分配为数组$user->assignRole(['creator', 'finance']); 谢谢,已经成功了,非常感谢 【参考方案1】:

对于用户“XYZ”

我们可以将相关角色创建者和财务作为数组传递给控制器​​,

那么,

$user->assignRole($request->role);

// $user->assignRole(['creator', 'finanace']) 或 $user->assignRole('creator','finance')

对于用户“PQR”

如上,

$user->assignRole($request->role);

// $user->assignRole(['finance']);

更多细节可以参考官方文档。 https://spatie.be/docs/laravel-permission/v3/basic-usage/role-permissions

【讨论】:

非常感谢,你们给了我正确的方向

以上是关于如何在 laravel spatie 中分配多个角色和基于多个角色的权限?的主要内容,如果未能解决你的问题,请参考以下文章

如何在一个表的键中分配多个值?

尝试在laravel中的Controller store方法中分配非对象的属性

如何在 Vertex AI 表格预测中分配两个或多个时间序列标识符列

如何在登录具有 Spatie 的 Laravel 权限的用户之前检查用户角色?

我如何在 laravel 中为 spatie 包(ACL 管理)中的其他角色分配用户列表权限?

如何使用 laravel 8 +jetstream + spatie 为注册用户分配角色