请问一下大家,为什么我的 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)能正常打印出用户名。
关于 LearnKu
推荐文章: