Laravel 5.2 登录会话不持久

Laravel 5.2 login session not persisting

我一直在使用 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';

我什至尝试使用 \Auth::attempt 实现默认 laravel 身份验证。但是,那也给了同样的东西。

非常感谢任何帮助。

在 Laravel 5.2 中,您需要将 web group middlewere 应用于您不想让会话工作的所有路由。这是 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.phpmiddlewareGroups 属性 以了解为 web 组中间件

触发了哪些中间件