LARAVEL:如何在命名路由上使用中间件

时间:2016-08-13 04:27:11

标签: laravel authentication middleware

我一直在开发一款最初没有使用中间件的应用。后来,我决定添加中间件,不得不改变我的路线:

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

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

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

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

您不需要丢失路线名称,阵列仍然会将其与您的中间件一起接受。

只需添加即可:

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

这样您就不需要在任何地方重新命名路线,仍然可以使用auth中间件保护它。

答案 1 :(得分:0)

尝试将中间件放到组路由

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

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