suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Richten Sie das Routing für Benutzer mit optionaler Anmeldung in Sanctum ein

<p>Sanctum teilt die Middleware Auth:sanctum und es funktioniert. Schauen Sie sich diesen Code an: </p> <pre class="brush:php;toolbar:false;">Route::middleware('auth:sanctum')->group(function () { Route::post('/profile', [TestController::class, 'test']); });</pre> <p>Und die Controller-Methode: </p> <pre class="brush:php;toolbar:false;">public function test() { if (Auth::check()) { gebe 'Benutzer' zurück; } anders { return 'Gast'; } }</pre> <p>Das Problem besteht darin, dass, wenn meine Route die Middleware „auth:sanctum“ verwendet, für angemeldete Benutzer alles einwandfrei funktioniert, ich jedoch für Gäste die Fehlermeldung „Nicht autorisiert“ erhalte. Ohne die Verwendung dieser Middleware funktioniert die Authentifizierung nicht richtig und erkennt nicht, ob ich angemeldet bin (gibt immer „Gast“ zurück). Wie kann ich dieses Problem lösen? Ich möchte den Benutzer anzeigen, wenn er angemeldet ist, andernfalls muss „Gast“ angezeigt werden. </p>
P粉741678385P粉741678385465 Tage vor504

Antworte allen(1)Ich werde antworten

  • P粉517814372

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

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

    Antwort
    0
  • StornierenAntwort