向 Laravel 路由添加多个中间件

新手上路,请多包涵

根据 laravel doc ,我可以添加 auth 中间件,如下所示:

 Route::group(['middleware' => 'auth'], function () {
    Route::get('/', function ()    {
        // Uses Auth Middleware
    });

    Route::get('user/profile', function () {
        // Uses Auth Middleware
    });
});

我还看到添加如下中间件:

 Route::group(['middleware' => ['web']], function() {
  // Uses all Middleware $middlewareGroups['web'] located in /app/Http/kernel.php?
  Route::resource('blog','BlogController'); //Make a CRUD controller
});

我怎样才能做到这两点?

PS。任何提供有关底部四行代码正在做什么的见解的评论将不胜感激

原文由 user1032531 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 950
1 个回答

要将中间件分配给路由,您可以使用单个中间件(第一个代码片段)或中间件组(第二个代码片段)。使用中间件组,您可以一次将多个中间件分配给一个路由。您可以 在文档 中找到有关中间件组的更多详细信息。

要同时使用(单个中间件和中间件组),您可以尝试以下操作:

 Route::group(['middleware' => ['auth', 'web']], function() {
  // uses 'auth' middleware plus all middleware from $middlewareGroups['web']
  Route::resource('blog','BlogController'); //Make a CRUD controller
});

原文由 krlv 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏