在中间件中使用背包权限管理器

时间:2019-10-24 07:46:19

标签: php laravel backpack-for-laravel

我正在使用适用于Laravel V4,Laravel 6的背包,我定义了角色和权限,并向用户分配了file-manager权限和manager角色。当我尝试在路由中间件中使用它时,出现禁止错误403,是我尝试的: 在routes/backpack/custom.php

'middleware' => ['web', config('backpack.base.middleware_key', 'admin'), 'can:file-manager']

当我按照spatie/laravel-permission documentation 的指示使用时:

Route::group(['middleware' => ['role:manager']], function () {
    //
});

我收到Target class [role] does not exist错误。

我搜索了其他地方,但没有运气,请提供在路线中使用权限管理器的正确方法。

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。

您必须将RoleMiddleware添加到app/Http/Kernel.php中的配置中:

protected $routeMiddleware = [
   'auth' => \App\Http\Middleware\Authenticate::class,
   // [...]
   'role' => \Spatie\Permission\Middlewares\RoleMiddleware::class,
];

我的回答有点晚了,但我希望它对其他人有帮助:)