请问一下大家,为什么我的 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)能正常打印出用户名。

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

:pray: :pray: :pray:

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

:pray: :pray: :pray:

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

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