Php 空间权限:Laravel中多个页面上的多个角色

Php 空间权限:Laravel中多个页面上的多个角色,php,laravel,roles,laravel-permission,Php,Laravel,Roles,Laravel Permission,我有多个页面,其中一个用户可以有多个角色。但我无法在空间权限中获得用户的页面角色。我如何获得空间许可,如下所示: Page | Role | User | ------------------------ A | Admin | 1 | B | Member | 1 | A | Cashier| 2 | 使用Spatial可以设置角色和权限,然后在页面中检查相关权限,这就是它的用途。但是,您始终可以使用自己的一组自定义权限处理来扩展Sp

我有多个页面,其中一个用户可以有多个角色。但我无法在空间权限中获得用户的页面角色。我如何获得空间许可,如下所示:

Page  |  Role   | User |
------------------------
  A   |  Admin  |  1   |
  B   |  Member |  1   |
  A   |  Cashier|  2   |

使用Spatial可以设置角色和权限,然后在页面中检查相关权限,这就是它的用途。但是,您始终可以使用自己的一组自定义权限处理来扩展Spatial

i、 e.您可以创建一个配置文件,其中包含每个用户都有权访问的路由列表,然后添加一个helper方法

配置文件:

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);
}