2016-07-20 11 views
4

Ich schreibe eine ASP.NET Core 1.0-Website, die Windows-Authentifizierung verwendet. Ich habe die Autorisierung implementiert und das funktioniert wie erwartet. Derzeit, wenn Authentifizierung für einen bestimmten Benutzer fehlschlägt, wird eine generische "HTTP 403" Fehlerseite angezeigt.Umleiten zu benutzerdefinierten "Zugriff verweigert" Seite für ASP.NET Core

enter image description here

Wie kann ich konfigurieren ASP.NET-Core, so dass es auf meinen eigenen benutzerdefinierten Umleitungen Seite „Zugriff verweigert“?

Ich versuchte, den Ansatz in diesem Artikel beschrieben, aber es hat nicht funktioniert für mich (vielleicht, weil ich Windows Auth statt Forms Auth verwendet werden?) How to redirect unauthorized users with ASP.NET MVC 6

Jede Hilfe würde geschätzt.

Antwort

8

Verwenden Sie the status code pages middleware.

app.UseStatusCodePages(async context => { 
    if (context.HttpContext.Response.StatusCode == 403)) 
    { 
    // your redirect 
    } 
}); 

oder allgemeinerer Ansatz über app.UseStatusCodePagesWithRedirects. Die Middleware kann Redirects (mit relativen oder absoluten URL-Pfaden) verarbeiten und den Statuscode als Teil der URL übergeben. Zum Beispiel wird der folgende umleiten zu ~/errors/403 für 403 Fehler:

app.UseStatusCodePagesWithRedirects("~/errors/{0}"); 
+0

Vielen Dank Set, genau das, was ich gesucht habe! –

Verwandte Themen