将两个中间件应用于Laravel的路线

时间:2018-04-19 07:18:46

标签: php laravel routing

我想在Laravel的某些路线上应用两个中间件。

Route::group(['middleware' => ('auth_guest'), 'prefix' => 'guest/'], function() {
    //  60 routes
});

我知道两个解决方案:

1-在控制器的构造函数中应用中间件。

2-合并两个中间件并使其成为一个。

虽然两者都可行,但我希望将两个中间件分开。

有没有办法在组中应用两个中间件?

类似的东西:

Route::group(['middleware' => ('auth_guest'), 'prefix' => 'guest/'], function() {

Route::group(['middleware' => ('isgreat')], function() {
//60 routes
        });

    });

1 个答案:

答案 0 :(得分:1)

是的,您可以应用这样的中间件列表:

Route::middleware(['auth',RegionLock::class,CampaignStarted::class, UserBanned::class])
->group(function () {
...
});

或小组:

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

DOCS

您也可以为路线分配多个中间件:

Route::get('/', function () {
    //
})->middleware('first', 'second');