Laravel手动身份验证不会保持记录

时间:2018-11-12 10:06:57

标签: laravel authentication eloquent laravel-5.7

我在Laravel 5.7中的身份验证遇到问题

出于示例目的,我在数据库中使用Laravel 5.7种子安装了全新的Users安装程序

web.php文件中:

 Route::get('/', function () {
    if (!auth()->check()) {
        dump('Not Logged');
        auth()->login(\App\User::first(), true);
        dump(auth()->user()->toArray());
    } else {
        dump('Logged');
    }

enter image description here

我希望第一次访问该页面时得到一个Not logged,然后在每次刷新页面时得到一个Logged。

但是每次我有一个Not logged回复。

有人知道如何保持用户手动登录吗?

1 个答案:

答案 0 :(得分:0)

我不建议在web.php路由文件上建立身份验证,您应该尝试以有组织的方式拆分代码。  注意!auth()->check(),因为您没有完全评估它是否为假,所以您正在验证布尔值的反转。意思是,如果是真的,它将检查它是否为假。

您的用户表中是否有记录?

您要将会话存储在文件或数据库的什么位置?

尝试Auth::login(\App\User::first(), true);并打印出用户是否确实以dd(Auth::user())登录

  

https://laravel.com/docs/5.7/authentication#authenticating-users