laravel10Auth认证通过但是Auth::user()返回null

1. 运行环境 php8.2.9 使用php artisan serve

1). 当前使用的 Laravel 版本?laravel10

2). 当前使用的 php/php-fpm 版本?php8.2.9

PHP 版本:8.2.9

php-fpm 版本:

3). 当前系统 Windows 10

4). 业务环境 生产环境

5). 相关软件版本 phpstorm

2. 问题描述?

laravel10Auth认证通过但是Auth::user()返回null
我在认证里面使用dd(Auth::user())可以拿到我登陆的用户信息,但是我跳转后获取到的是null
并且session存储的文件里我发现他生成的 login_web_xxxxxxx是null
我也试过使用Auth::login将user模型传入,但是他还是没法获取到,使用Auth::check结果也是没有登录成功,
我在storage/laravel.log文件里也没有发现报错信息

3. 您期望得到的结果?

我需要能够通过认证且能够获取到正确数据
//: <> (能截图就截图。)

4. 您实际得到的结果?

我需要能够通过认证且能够获取到正确数据
//: <> (有报错信息的话把堆栈信息提供出来)

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 12

这个问题我猜不出来,请提供更丰富的信息。

11个月前 评论
zhangsanye111 (楼主) 11个月前

仔细看 laravel10 - 用户认证文档

如果身份验证成功,你应该重新生成用户的 session 以防止 session fixation:

        if (Auth::attempt($credentials)) {
            $request->session()->regenerate();

            return redirect()->intended('dashboard');
        }
11个月前 评论
zhangsanye111 (楼主) 11个月前
kwok_wah (作者) 11个月前

可以检查一下是否加载了web的中间件,然后可以先返回空 return ''; 尝试让cookie生效试试~

11个月前 评论
zhangsanye111 (楼主) 11个月前
33qis 11个月前

我也遇到同样问题了,有解决办法吗

11个月前 评论

Auth::user()的获得必须要加中间件验证,你跳转可以当做一个新的请求,和跳转前的请求没有关联。 也就是说你即使登陆了,你在网站首页的请求中一样拿不到Auth::user(),你只有在有身份验证的路由中才能拿到Auth::user()

11个月前 评论

guard是不是同一个

11个月前 评论

laravel全局中间那里看看有没有启用session中间件

11个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!