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