gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 15:39:42 28 4
gpt4 key购买 nike

我目前正在研究 Laravel 框架和 dingo api。有什么方法可以使用 entrust 将基于角色的权限集成到 dingo api 中吗?

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

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

我尝试将 entrust 中间件添加到 paths.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');
});
});

这意味着即使用户通过了身份验证,新组中的两条路由也只能由管理员访问。

希望这对您有所帮助。

关于laravel - 如何将 Laravel 中基于角色的权限与 Dingo API 集成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39091968/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com