如何将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');
});
});
这意味着即使用户已通过身份验证,新组中的两条路由也只能由管理员访问
我希望这会有所帮助。此链接将帮助您实现这些角色