通过访客中间件对路由进行分组时,注销不起作用

时间:2017-04-22 19:24:04

标签: laravel

使用内置的auth脚手架,当我通过组将中间件guest分配到我的注销路由时,注销不起作用。

示例:

Route::group(['middleware' => 'guest'], function () {
    // login routes
    Route::get('login', 'Auth\LoginController@showLoginForm')->name('login');
    Route::post('login', 'Auth\LoginController@login');
    Route::get('logout', 'Auth\LoginController@logout')->name('logout');

    // password reset routes
    Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');
    Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');
    Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset');
    Route::post('password/reset', 'Auth\ResetPasswordController@reset');
});

注销根本不起作用,不会引发任何错误。

我已从所有控制器__construct()方法中删除了中间件。

1 个答案:

答案 0 :(得分:1)

尝试将其排除在外:

Route::group(['middleware' => 'guest'], function () {
    // login routes
    Route::get('login', 'Auth\LoginController@showLoginForm')->name('login');
    Route::post('login', 'Auth\LoginController@login');
});

Route::get('logout', 'Auth\LoginController@logout')->name('logout')->middleware(['web', 'guest']);