如何检查用户是否通过路由中的会话登录,然后在Laravel中调用控制器方法


how to check if user is logged in by his session in route and then call controller method in laravel?

我正在使用Laravel 5.2。我想在路由文件中检查用户会话,以便如果设置了会话,用户可以访问仪表板,否则重定向到登录页面。

我为此使用了以下代码,但它不起作用。它没有给出任何错误,也没有将他重定向到登录页面。无论如何,如果我在控制器函数中编写相同的代码,它可以正常工作。

Route::group(['middleware' => ['web']], function () {
    Route::get('dashboard/index', ['uses' => 'DashboardController@index'], function() {
    $value = $request->session()->get('name', 'not_loggin');
    if ($value == 'not_loggin') {
        return redirect('/user/login');
    }
    });
});

如果我用构造函数编写它,它也不起作用。

你应该使用auth中间件:

Route::get('dashboard/index', [
   'middleware' => 'auth',
   'uses' => 'DashboardController@index'
]);