我有两个不同的守卫-- api防护和传输防护,我使用larat锈菌包来管理用户角色和权限。
Route::get('/requests', 'RequestController@index')->middleware('ability:owner|administrator,read-requests|all-requests');只有当api守卫时,我才需要在上面运行Larat锈病中间件。
备注:-,,https://laratrust.santigarcor.me/docs/6.x/usage/middleware.html#concepts,我发现你可以像这样指定你的守卫,但它不起作用
Route::get('/requests', 'RequestController@index')->middleware('ability:owner|administrator,read-requests|all-requests|guard:api');发布于 2021-02-02 15:13:01
我从未使用过Larat锈病,但是如果它是一个针对整个路由组的中间件,我认为您可以在$middlewareGroups数组中的$middlewareGroups文件中定义它。
protected $middlewareGroups = [
'web' => [
'ability:owner',
'administrator',
'read-requests',
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Laravel\Jetstream\Http\Middleware\AuthenticateSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
'api' => [
'throttle:api',
'ability:owner',
'administrator',
'read-requests',
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
];https://stackoverflow.com/questions/66012235
复制相似问题