Laravel多个中间件在一个控制器中



我的laravel应用程序中有两种用户类型,现在添加了第三种。我试图将第三种用户类型的中间件添加到我的控制器顶部的现有功能中。

以下是我的代码:

public function __construct()
{
$this->middleware('admin')
->except('route', 'route2');
}

现在我添加了另一个中间件,但这会导致404页面:

$this->middleware(['admin', 'viewer'])
->except('route', 'route2');

我也尝试过,但它说它需要一个数组,所以这不起作用:

$this->middleware(['admin', 'viewer'])
->except('route', 'route2');

问题不在于中间件本身,我不认为,因为如果我在传递中间件名称时交换中间件名称,它的工作方式就像并显示预期的视图,而不是404:

$this->middleware('viewer')
->except('route', 'route2');

谢谢!

试试这个;

$this->middleware(['admin', 'viewer'])
->except(['route', 'route2']);

你用的是哪一个拉拉威尔版本?您也可以查看此文档https://laravel.com/docs/8.x/controllers#restful-部分资源路由

最新更新