我目前正在研究Laravel
框架和dingo api。有没有办法使用委托给dingo api整合基于角色的权限?
例如,我有一条路线可以获取所有用户列表,但只有管理员可以访问它。
因此,如果用户已通过身份验证,但他不是管理员,则他无法访问此路由。
我尝试将委托的中间件添加到routes.php但是当我在邮递员上尝试时,我收到语法错误。
这是我的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');
});
答案 0 :(得分:0)
您可以将其分组到不同的部分:
$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');
});
});
这意味着即使用户已通过身份验证,新组中的两条路由也只能由管理员访问。
我希望这有用。