我正在使用适用于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
错误。
我搜索了其他地方,但没有运气,请提供在路线中使用权限管理器的正确方法。
答案 0 :(得分:1)
我遇到了同样的问题。
您必须将RoleMiddleware
添加到app/Http/Kernel.php
中的配置中:
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
// [...]
'role' => \Spatie\Permission\Middlewares\RoleMiddleware::class,
];
我的回答有点晚了,但我希望它对其他人有帮助:)