搜索

首页  >  问答  >  正文

在 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粉741678385466 天前508

全部回复(1)我来回复

  • P粉517814372

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

    如果用户使用 Sanctum 进行身份验证,请尝试使用: auth('sanctum')->check()。

    回复
    0
  • 取消回复