搜尋

首頁  >  問答  >  主體

在 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>
P粉741678385P粉741678385479 天前519

全部回覆(1)我來回復

  • P粉517814372

    P粉5178143722023-08-07 09:40:16

    如果使用者使用 Sanctum 進行身份驗證,請嘗試使用: auth('sanctum')->check()。

    #

    回覆
    0
  • 取消回覆