Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将Laravel中基于角色的权限与Dingo API集成?_Laravel_Dingo Api_Entrust - Fatal编程技术网

如何将Laravel中基于角色的权限与Dingo API集成?

如何将Laravel中基于角色的权限与Dingo API集成?,laravel,dingo-api,entrust,Laravel,Dingo Api,Entrust,我目前正在学习Laravelframework和dingoapi。是否有任何方法可以使用委托给dingo api集成基于角色的权限 例如,我有一个获取所有用户列表的路径,但只有管理员可以访问此路径 因此,如果用户已通过身份验证,但他不是管理员,则无法访问此路由 我尝试将委托中间件添加到routes.php,但当我在postman上尝试时,我得到了一个语法错误 这是我的routes.php文件: $api->version('v1', ['middleware' => ['jwt.au

我目前正在学习
Laravel
framework和dingoapi。是否有任何方法可以使用委托给dingo api集成基于角色的权限

例如,我有一个获取所有用户列表的路径,但只有管理员可以访问此路径

因此,如果用户已通过身份验证,但他不是管理员,则无法访问此路由

我尝试将委托中间件添加到routes.php,但当我在postman上尝试时,我得到了一个语法错误

这是我的routes.php文件:

$api->version('v1', ['middleware' => ['jwt.auth', 'role:admin']], function ($api) {
    $api->get('users', 'App\Http\Controllers\Auth\AuthController@index');
    $api->get('user', 'App\Http\Controllers\Auth\AuthController@show');
});

您可以将其分组为不同的部分,如下所示:

$api->version('v1', ['middleware' => 'jwt.auth'], function ($api) {
//general routes route goes here
//....
    $api->group(['middleware' => 'role:admin'], function($api) {
    //admin routes goes here

        $api->get('users', 'App\Http\Controllers\Auth\AuthController@index');
        $api->get('user', 'App\Http\Controllers\Auth\AuthController@show');
    });
});
这意味着即使用户已通过身份验证,新组中的两条路由也只能由管理员访问


我希望这会有所帮助。

此链接将帮助您实现这些角色