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.php 到 middlewareGroups
属性 以了解为 web
组中间件
触发了哪些中间件
我一直在使用 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.php 到 middlewareGroups
属性 以了解为 web
组中间件