Laravel 将中间件分配给 auth 路由

Laravel assign middleware to auth route

我想将中间件分配给寄存器 post 路由。 例如:

Route::post('contact', [
    'as'    => 'contact-store',
    'uses'  => 'ContactmeController@contactUSPost'
])->middleware(\Spatie\Honeypot\ProtectAgainstSpam::class);

我的路线文件包含

Auth::routes(['verify' => true]);

它会自动生成您的登录名和注册路由。

如何使用 Auth::routes 将中间件 ProtectAgainstSpam 分配给寄存器 POST 方法?

可以通过组路由使用

Route::group(['middleware' => ['web']], function() {
    Auth::routes(['verify' => true]);
});

Auth::routes() 只是一个帮手 class 可以帮助您生成用户身份验证所需的所有路由。您可以在此处 https://github.com/laravel/framework/blob/5.3/src/Illuminate/Routing/Router.php 浏览代码。

这是路线

    Route::group(['middleware' => ['web']], function() {
        // Authentication Routes...
        $this->get('login', 'Auth\LoginController@showLoginForm')->name('login');
        $this->post('login', 'Auth\LoginController@login');
        $this->post('logout', 'Auth\LoginController@logout')->name('logout');
    
        // Registration Routes...
        $this->get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');
        $this->post('register', 'Auth\RegisterController@register');
    
        // Password Reset Routes...
        $this->get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm');
        $this->post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail');
        $this->get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm');
        $this->post('password/reset', 'Auth\ResetPasswordController@reset');

  });