在路由组中分配中间件和在控制器的构造函数中启动它之间有什么区别吗?

Is there any difference between assigning middleware in a route group and launching it in controler's constructor?

我想知道在这样的路由中分配中间件是否有任何区别:

Route::patch('/edit/{column}/{id}',['middleware' => 'auth', 'uses' => 'ResourceController@editCompany']); 

并在控制器的构造函数中启动它

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

一样吗?除了检查我是否登录,它还会做其他事情吗?

完全一样。问题是当你在构造函数中添加它时,你需要记住将它添加到你想要被授权保护的每个新控制器中。

在路由文件中,您可以将多个端点分组并在所有端点中应用中间件:

Route::group(['middleware' => 'auth'], function() {
 // all routes here that need to be auth protected.
});