【问题标题】:LARAVEL: How to use middleware on named routesLARAVEL:如何在命名路由上使用中间件
【发布时间】:2016-12-20 03:07:26
【问题描述】:

我一直在开发一个最初不使用中间件的应用程序。后来,我决定添加中间件,不得不更改我的路由,例如:

Route::get('admin/poems', array('as' => 'poems', 'uses' =>      'PoemsController@poem'));

Route::get('admin/poem', ['middleware' => 'auth', 'uses' => 'PoemsController@poem']);

现在的缺点是我已经多次重定向到此路由 (poems),并且按照指示添加中间件将需要我检查所有代码并更改重定向中的路由名称。 我该如何解决这个问题?

感谢您的帮助。

【问题讨论】:

    标签: laravel authentication middleware


    【解决方案1】:

    您不需要丢失路由的名称,该数组仍会与您的中间件一起接受它。

    只需将其添加到如下所示:

    Route::get('admin/poem', ['middleware' => 'auth', 'as' => 'poems', 'uses' => 'PoemsController@poem']);
    

    这样你就不需要在任何地方遍历和重命名你的路由,并且仍然可以使用 auth 中间件来保护它。

    【讨论】:

      【解决方案2】:

      尝试将中间件放入组路由

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

      【讨论】:

        猜你喜欢
        • 2014-11-29
        • 2018-05-05
        • 2020-09-28
        • 1970-01-01
        • 2018-10-28
        • 2019-05-03
        • 2015-10-26
        • 2017-12-13
        • 2020-12-04
        相关资源
        最近更新 更多