在 Sanctum 中為可選擇登入的使用者設定路由
<p>Sanctum共享中間件Auth:sanctum並且它起作用。看一下這段程式碼:</p>
<pre class="brush:php;toolbar:false;">Route::middleware('auth:sanctum')->group(function () {
Route::post('/profile', [TestController::class, 'test']);
});</pre>
<p>以及控制器的方法:</p>
<pre class="brush:php;toolbar:false;">public function test()
{
if (Auth::check()) {
return 'user';
} else {
return 'Guest';
}
}</pre>
<p>問題是,如果我的路由使用了"auth:sanctum"中間件,對於已登入的使用者一切正常,但對於訪客,我會收到"未授權"的錯誤。如果不使用這個中間件,身份驗證無法正常工作,無法識別我是否已登入(始終返回'Guest')。我該如何解決這個問題?我想要在登入時顯示用戶,否則需要顯示"Guest"。 </p>