Laravel 路由的多个中间件
我尝试向路由添加多个中间件 像这样:Laravel 路由的多个中间件,laravel,Laravel,我尝试向路由添加多个中间件 像这样: Route::get('/licences_to_confirm' , ['as' => 'licences_to_confirm', 'uses' => 'LicencieController@licenceToValid'])->middleware( 'isFederation' , 'isComite'); 这里是我的内核: 'isFederation' => \App\Http\Middleware\isFederatio
Route::get('/licences_to_confirm' , ['as' => 'licences_to_confirm', 'uses' => 'LicencieController@licenceToValid'])->middleware( 'isFederation' , 'isComite');
这里是我的内核:
'isFederation' => \App\Http\Middleware\isFederation::class,
'isComite' => \App\Http\Middleware\isComite::class,
这是我的名字
public function handle($request, Closure $next)
{
$user = $request->user();
if ($user && $user->isFederation())
{
return $next($request);
}
return redirect(route('403'));
}
这里是我的iScome中间件:
public function handle($request, Closure $next)
{
$user = $request->user();
if ($user && $user->isComite())
{
return $next($request);
}
return redirect(route('403'));
}
但它不起作用。现在有人知道如何将多个中间件类添加到路由中了吗?事先非常感谢。它显示了什么错误?听起来可能很傻,但如果去掉前导空格呢<代码>->中间件('isFederation','isComite')。除此之外,还有什么错误吗?有拼写错误吗?您是否在每个MW中执行了
dd()
,以查看它们是否被正确调用,以及是否存在其他一些逻辑问题?我获得了为没有访问ressource权限的用户创建的未授权页面。如果我只放“isFederation”或“isComite”,但不能同时放两个,这是唯一可行的,因为我会重定向到错误刀片页面,我试图在Route group=>Route::group(['middleware'=>['isFederation','isComite']],function(){Route::get('/Licenses\u to\u confirm')中添加这些中间件,['as'=>'许可证以确认','使用'=>'LicencieController@licenceToValid“]];}”);
创建一个不同的中间件,在一个地方执行检查,或者重新思考您的逻辑,看看哪些地方需要检查,哪里会显示错误?听起来可能很傻,但如果您去掉了前面的空白呢?->中间件('isFederation',isComite')
。除此之外,还有错误吗?有拼写错误吗?你做过dd()吗
在每个MW中查看它们是否被正确调用,以及是否存在其他逻辑问题?我会得到我为没有访问ressource权限的用户创建的未授权页面。只有在同时输入'isFederation'或'isComite'时才有效,但不能同时输入两者,因为我会重定向到我创建的错误刀片页面在Route group=>Route::group(['middleware'=>['isFederation','isComite']],function(){Route::get('/licenses\u to\u confirm',['as'=>'licenses\u to\u confirm','uses'=>'LicencieController@licenceToValid']); });
创建一个不同的中间件,在一个地方进行检查,或者重新考虑在哪里需要检查哪些内容