Php Laravel身份验证不会将我设置为已验证

Php Laravel身份验证不会将我设置为已验证,php,laravel,Php,Laravel,我对拉威尔还很熟悉。我已经使用CakePHP一两次了,但不是这个 目前我正在尝试建立一个身份验证系统。注册有效,登录也有效 当我登录时,将显示我的视图。但当我尝试使用auth中间件保护控制器功能时: public function __construct() { $this->middleware("auth"); } 它不断地将我重定向到/,但当它不在那里时,一切正常吗 另外,当我尝试执行var_dump(Auth::check())时在登录函数中,它显示true,但当我在索引

我对拉威尔还很熟悉。我已经使用CakePHP一两次了,但不是这个

目前我正在尝试建立一个身份验证系统。注册有效,登录也有效

当我登录时,将显示我的视图。但当我尝试使用
auth
中间件保护控制器功能时:

public function __construct() {
    $this->middleware("auth");
}
它不断地将我重定向到
/
,但当它不在那里时,一切正常吗

另外,当我尝试执行
var_dump(Auth::check())时
在登录函数中,它显示
true
,但当我在索引中执行此操作时(我一直被错误地重定向到该索引),它显示
false

以下是我登录用户的方式:

public function postLogin(LoginRequest $request) {
    if ($this->auth->attempt($request->only("username", "password"))) {
        return redirect("/me");
    }

    return redirect("/")->withInput()->withErrors([
        "username" => "The credentials you entered did not match out system."
    ]);
}
是不是因为代码中的错误导致了这种情况

提前谢谢

编辑:我正在使用Laravel 5.2。也应要求:以下是路线

Route::group(['middleware' => ['web']], function () {
    Route::get('/', 'UnloggedController@index');
    Route::get('/me', 'MeController@index');
});

Route::controller('/','Auth\AuthController');

您需要将
Route::controller
定义移动到添加了
web
中间件的路由组中,否则将无法为其启用会话,身份验证系统需要该会话才能工作。所以它应该是这样的:

Route::group(['middleware' => ['web']], function () {
    Route::get('/', 'UnloggedController@index');
    Route::get('/me', 'MeController@index');

    Route::controller('/','Auth\AuthController');
});

您是否启用了
会话
中间件?您使用的会话驱动程序是什么?@pitchen
'web'=>['driver'=>'session','provider'=>'users',],
您的意思是什么?
session
中间件包含在
web
组中,对吗?@WesleyPeeters您使用的是什么Laravel版本?另外,请发布该控制器操作的路由定义。@WesleyPeeters您可以在.env文件中查看会话的管理方式。是的,我相信会话中间件默认包含在web组中。您的路线是否使用
web
组?另外,为了确保将
\uuu construct()
函数正确地放入控制器中?@WesleyPeeters移动
路由::控制器('/','Auth\AuthController')定义添加到添加了
web
中间件的路由组中,否则将无法为其启用会话,身份验证系统需要该会话才能工作。