重定向后身份验证会话被终止| laravel 5.2

重定向后身份验证会话被终止| laravel 5.2,laravel,laravel-5.2,Laravel,Laravel 5.2,我做了一个简单的登录表单。我将我的用户登录到: Auth::loginUsingId($user->id, true); 但是,当我将用户重定向到ClientController时,我将重定向到登录表单,身份验证会话不会持续 return redirect()->action('ClientController@index'); 我的路线: Route::group(['middleware' => 'web'], function() { Route::get('

我做了一个简单的登录表单。我将我的用户登录到:

Auth::loginUsingId($user->id, true);
但是,当我将用户重定向到ClientController时,我将重定向到登录表单,身份验证会话不会持续

return redirect()->action('ClientController@index');
我的路线:

Route::group(['middleware' => 'web'], function() {
    Route::get('/', 'HomeController@index');
    Route::post('/', 'HomeController@auth');
});
Route::group(['prefix' => 'admin', 'middleware' => 'web'], function() {
    Route::get('/', 'AdminController@index');
});

Route::group(['prefix' => 'client', 'middleware' => ['auth', 'web']], function() {
    Route::get('/', 'ClientController@index');
});

web
中间件需要在
auth
中间件之前启动,因为
web
中间件负责启动会话。按如下方式切换顺序:

Route::group(['prefix' => 'client', 'middleware' => ['web', 'auth']], function() {
    Route::get('/', 'ClientController@index');
});
Route::group(['middleware' => 'web'], function() {
    Route::get('/', 'HomeController@index');
    Route::post('/', 'HomeController@auth');

    Route::group(['prefix' => 'admin'], function() {
        Route::get('/', 'AdminController@index');
    });

    Route::group(['prefix' => 'client', 'middleware' => 'auth'], function() {
        Route::get('/', 'ClientController@index');
    });
});
但是,当我们讨论这个问题时,您可以将路由组嵌套在另一个路由组中,以防止将来出现类似错误,我建议您将所有内容嵌套在
web
中间件中,如下所示:

Route::group(['prefix' => 'client', 'middleware' => ['web', 'auth']], function() {
    Route::get('/', 'ClientController@index');
});
Route::group(['middleware' => 'web'], function() {
    Route::get('/', 'HomeController@index');
    Route::post('/', 'HomeController@auth');

    Route::group(['prefix' => 'admin'], function() {
        Route::get('/', 'AdminController@index');
    });

    Route::group(['prefix' => 'client', 'middleware' => 'auth'], function() {
        Route::get('/', 'ClientController@index');
    });
});