从laravel 5.1更新到5.2后,我遇到了这个意想不到的问题。我使用Auth::login
手动登录用户。当我重定向用户时,不会保留。
从clear laravel 5.2安装中优雅地移植了所有配置。
这里是路线代码:
Route::group([ 'middleware' => [ 'web' ] ], function () {
Route::get('test', function () {
$user = \Upping\Models\User::find(311);
Auth::login($user);
Auth::check(); // true
return redirect('authCheck');
});
Route::get('authCheck', function () {
Auth::check(); // false
});
});
config \ auth.php - >提供商
'users' => [
'driver' => 'eloquent',
'model' => \Upping\Models\User::class,
],
说到laravel经验,微小的暗示对我来说应该足够了。并感谢您的帮助。
答案 0 :(得分:0)
您是否已将所有路线放入其中:
Route::group(['middleware' => ['web']], function () {
// here your routes
});
?如果没有,您应该这样做,因为在Laravel 5.2中,默认情况下会为web
组中间件启动会话。有关详细信息,请参阅Routing documentation
编辑
如果不是这种情况 - 我看到您使用用于登录的自定义用户类\Upping\Models\User
。您是否在config/auth.php
的{{1}}中设置了相同的课程?
答案 1 :(得分:0)
所以真正的原因有点牵强。我读了错误日志,发现它是Zend Z-ray,它的laravel插件意味着5.2更新。
在我关闭之后,一切都开始正常运作。