2

Das Standardverhalten ASP.NET Web Api Core für nicht autorisierte Anforderung ist Senden 401/403 error mit leeren Inhalt. Ich möchte es ändern, indem ich eine Art von JSON-Antwort spezifiziere, die den Fehler angibt.So ändern Sie das nicht autorisierte Web Api Core-Verhalten

Aber ich habe Mühe, einen richtigen Ort zu finden, an dem ich diese Änderungen einführen kann. Offizielle Dokumentation hilft nicht (lesen Sie alles). Ich hatte eine Vermutung, dass ich könnte UnathorizedException in meinem Ausnahmefilter/Middleware fangen, aber es hat nicht geklappt (ich denke, es wird auf Berechtigungsstufe behandelt oder gar nicht geworfen).

Also meine Frage ist, wie kann ich Antwortverhalten im Falle einer nicht autorisierten Anfrage anpassen.

+0

Check out Erweiterungsmethoden wie 'app.UseStatusCodePagesWithRedirects' und' app.UseStatusCodePages' – Developer

+0

'https: // docs.microsoft.com/en-us/aspnet/core/Sicherheit/Authentifizierung/cookie' dazu gehen .. Es kann helfen –

+0

@Developer, scheint es MVC spezifisch zu sein, nicht Web Api – SiberianGuy

Antwort

1

Sie können dies verwenden, wenn Sie die Cookie-Authentifizierung verwenden.

 app.UseCookieAuthentication(new CookieAuthenticationOptions() 
     { 
      AccessDeniedPath = "WhereEverYou/WantToGo" 
     }); 

Dies behandelt sowohl verboten als auch nicht autorisiert.

+1

Die Frage ist über Web API, wo Token für die Authentifizierung verwendet werden – SiberianGuy

Verwandte Themen