在 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>