我一直在使用Sentinel在Laravel 5.2上实现一个简单的身份验证系统.
// Route : /login $success = Sentinel::authenticate(array( 'email' => $email, 'password' => $password, )); echo $success ? 'Login success' : 'Login failed';
因此,上述代码Login success
在验证码之后输出.但是,登录状态不会持久保存到其他请求.即:如果我从其他请求检查身份验证状态,则表示我没有登录!
// Route : test-login echo \Sentinel::check() ? 'User is logged in' : 'User is not logged in';
我甚至尝试过使用defaut laravel authencation \Auth::attempt
.但是,这也给了同样的东西.
非常感谢任何帮助.
在Laravel 5.2中,您需要将web
组中间应用于您不想使会话工作的所有路线.这是Laravel 5.1的主要变化.
请查看https://laravel.com/docs/5.2/routing#basic-routing
默认的routes.php文件目前看起来像这样:
Route::group(['middleware' => ['web']], function () { // here you should put your routes });
编辑
您也可以直视https://github.com/laravel/laravel/blob/master/app/Http/Kernel.php到middlewareGroups
财产知道哪些中间件被用于发射web
组中间件