请问一下大家,为什么我的 Auth::user () 在 redirect 后就不见了?

大家好,我并没有使用laravel自带的开箱即用的auth,而是使用Auth::login()Auth::attempt()来手动实现用户授权。目前的问题是,在登录控制器方法中成功登录,但是redirect到首页后,Auth::user()就为null了,实在是不清楚原因,希望大家能解答我的问题,谢谢!

路由route.php

use App\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;

Route::get('/', function (){
    return view("index");
})->name('home');

Route::get('/login', function () {
    $user = new User();
    $user->name = "goco";
    Auth::login($user);
    return redirect('/');
})->name('login');

视图index.blade.php

@if(Auth::check())
    <p>{{ Auth::user()->name }}</p>
    <a href="{{ route('logout') }}">logout</a>
@else
    <a href="{{ route('login') }}">login</a>
@endif

其他默认的配置文件均未改动。


目前的效果就是,点击index.blade.php的login链接,会跳转回首页,但是未显示用户名和登出链接。在Auth::login($user)语句后执行dd(Auth::user()->name)能正常打印出用户名。

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
最佳答案

:pray: :pray: :pray:

3年前 评论
❤seven 3年前
GoCo (作者) (楼主) 3年前
讨论数量: 1

:pray: :pray: :pray:

3年前 评论
❤seven 3年前
GoCo (作者) (楼主) 3年前

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