如何在控制器构造函数中添加两个中间件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在控制器构造函数中添加两个中间件相关的知识,希望对你有一定的参考价值。

在Controller构造函数中添加这两个中间件的正确方法是什么?

Route::get('admin', ['middleware' => ['auth', 'admin'], function()

我有以下显然是不正确的。

public function __construct()
{
    $this->middleware('auth','admin');
}
答案

您可以将其分为两个语句,如下所示

public function __construct()
{
      $this->middleware('auth');
      $this->middleware('admin');
}

或者,如果您想使用一个语句

public function __construct()
{
      $this->middleware(['auth', 'admin']);
}

但是,如果您为某些方法限制中间件,如下所示

 $this->middleware(['auth', 'admin'], ['except' => [
            'fooAction',
            'barAction',
        ]]);

在这种情况下,您为fooAction方法和barAction方法限制auth和admin

资源:

https://laravel.com/docs/master/controllers#controller-middleware

以上是关于如何在控制器构造函数中添加两个中间件的主要内容,如果未能解决你的问题,请参考以下文章