1

从 laravel 5.1 更新到 5.2 后,我遇到了这个意想不到的问题。我Auth::login用来手动登录用户。并且当我重定向用户时不会保留。

所有的配置都是从清晰的 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 体验,小小的提示对我来说应该足够了。并感谢您的帮助。

4

2 回答 2

0

你有没有把所有的路线都放在里面:

Route::group(['middleware' => ['web']], function () {
  // here your routes
});

? 如果没有,你应该这样做,因为在 Laravel 5.2 中,会话默认为web组中间件启动。有关详细信息,请参阅路由文档

编辑

如果不是这种情况 - 我看到您\Upping\Models\User使用用于登录的自定义用户类。你在config/auth.php in 中设置了相同的类providers -> users -> model吗?

于 2015-12-28T18:11:50.330 回答
0

所以真正的原因有点牵强。我阅读了错误日志并认为它是 Zend Z-ray 和它的 laravel 插件对 5.2 更新意味着什么。

在我把东西关掉后,一切都开始正常运行了。

于 2015-12-28T20:53:47.767 回答