![](/img/trans.png)
[英]Showing multiple roles assigned to a user in Laravel using Spatie Permissions
[英]Spatie Permission: Multiple Roles on Multiple Pages in Laravel
我有多個頁面,其中一個用戶可以有多個角色。 但是我無法在 Spatie Permission 中獲取用戶的分頁角色。 如何獲得 Spatie 權限,如下所示:
Page | Role | User |
------------------------
A | Admin | 1 |
B | Member | 1 |
A | Cashier| 2 |
使用 Spatie,您可以設置角色和權限,然后在頁面中檢查相關權限,這就是它的意義所在。 但是,您始終可以使用自己的一組自定義權限處理來擴展 Spatie。
即,您可以創建一個配置文件,其中包含每個用戶可以訪問的路由列表,然后添加一個輔助方法。
配置文件:
return [
ROLE_ADMIN => [
'route-name1',
'route-name2',
'route-name3',
],
ROLE_MEMBER => ['route-name2'],
ROLE_CASHIER => [],
];
許可方式:
hasPageAccess(string $role, string $routeName): bool
{
$permissions = Arr::get(config('my-page-permissions'), $role, []);
return !!array_search($routeName, $permissions);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.