【发布时间】:2021-02-02 08:59:34
【问题描述】:
我正在使用 2 个路由,一个用于 loginUsingId(1),第二个用于测试用户是否已登录。 当尝试查看 Auth::id() 时,它永远为空。
//My Routes
Route::get('/login', [\App\Http\Controllers\UserController::class,'login']);
Route::get('/test_login', [\App\Http\Controllers\UserController::class, 'getUser']);
这是 UserController 中的方法 命名空间 App\Http\Controllers;
use App\Http\Middleware\Authenticate;
use App\Models\User;
use App\Providers\RouteServiceProvider;
use Illuminate\Auth\Events\Registered;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
public function login()
{
$auth = Auth::loginUsingId(3);
return var_dump($auth); // <--- here return 3
}
public function getUser()
{
return response(['user'=>Auth::id()]);
}
【问题讨论】:
-
你不是登录用户
-
你能解释一下吗@sta
-
我用
Laravel 8.25检查了它。使用Auth::loginUsingId(1)登录后,如果转到其他页面,Auth::id()返回null。如果我手动登录,则不会发生这种情况。好像是个bug -
好的,@sta 感谢您的回复。 “手动登录”是什么意思?
-
laravel 版本为 8.19