首页 > 解决方案 > 具有相同路由问题的 Laravel 分组中间件

问题描述

我有 3 个中间件:中间件 a、b 和 c。

然后在 routes/web.php 中,我定义了一个这样的 URL。

Route::middleware(['a','b','c']->group(function () { 
Route::get('/a','TestController@index')->name('test.test'); });

当我使用所有帐户登录时,它说这个页面没有正确重定向。

我想用不同的中间件访问相同的 url,可以吗?

我已经尝试过使用这个:

Route::middleware(['a' OR 'b' OR 'c']->group(function () { Route::get('/a','TestController@index')->name('test.test'); });

我认为它已经工作并解决了。但是,不是。每个人都可以访问 URL,并且忽略中间件。

我该如何解决这个问题?

标签: phplaravelrouteslaravel-6.2

解决方案


请使用这样的组将所有中间件合二为一。

Route::group(['middleware' => ['a', 'b', 'c']], function() {
  Route::get('/a','TestController@index')->name('test.test'); });
});

你也可以这样使用

Route::get('/a', function () {
 // Your stuff
})->middleware('a', 'b', 'c');

推荐阅读