Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 路由的多个中间件_Laravel - Fatal编程技术网

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']);  });
创建一个不同的中间件,在一个地方进行检查,或者重新考虑在哪里需要检查哪些内容