Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Bei Verwendung des Endpunktroutings in ASP.NET Core 3.1 ist die für die Autorisierung verwendete Ressource der Endpunkt. Dieser Ansatz reichte nicht aus, um Zugriff auf die Routendaten zu erhalten (RouteData). Zuvor in MVC wurde eine HttpContext Ressource übergeben, die den Zugriff auf den Endpunkt (Endpoint) und die Routendaten ermöglicht. Diese Änderung gewährleistet, dass die Ressource, die an die Autorisierung übergeben wird, immer die HttpContext
ist.
Eingeführte Version
ASP.NET Core 5.0
Altes Verhalten
Bei Verwendung des Endpunktroutings und der Autorisierungs-Middleware (AuthorizationMiddleware) oder [Authorize] -Attributen ist die an die Autorisierung übergebene Ressource der entsprechende Endpunkt.
Neues Verhalten
Beim Endpunktrouting wird HttpContext
für die Autorisierung übergeben.
Grund für Änderung
Sie können vom HttpContext
aus den Endpunkt erreichen. Es gab jedoch keine Möglichkeit, von dem Endpunkt zu Dingen wie den Routendaten zu gelangen. Es gab einen Verlust der Funktionalität durch das Routing von Nicht-Endpunkten.
Empfohlene Aktion
Wenn Ihre App die Endpunktressource verwendet, rufen Sie GetEndpoint in HttpContext
auf, um das Zugreifen auf den Endpunkt fortzusetzen.
Sie können auf das alte Verhalten zurücksetzen mit SetSwitch. Beispiel:
AppContext.SetSwitch(
"Microsoft.AspNetCore.Authorization.SuppressUseHttpContextAsAuthorizationResource",
isEnabled: true);
Betroffene APIs
Nichts