ASP0001: Autorisierungsmiddleware ist falsch konfiguriert
Wert | |
---|---|
Regel-ID | ASP0001 |
Kategorie | Verwendung |
Fix führt oder führt nicht zur Unterbrechung | Nicht unterbrechend |
Ursache
Im Startcode der Anwendung wurde ein unzulässiger Aufruf von UseAuthorization erkannt.
Regelbeschreibung
Für eine erfolgreiche Autorisierung für Endpunktrouten sollte der Aufruf von UseAuthorization
zwischen den Aufrufen von UseRouting
und UseEndpoints
positioniert werden. Andernfalls wird (sofern konfiguriert) die Fallbackrichtlinie verwendet, um alle Anforderungen zu autorisieren.
Betrachten Sie folgenden Code:
app.UseStaticFiles();
app.UseAuthorization();
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapDefaultControllerRoute();
});
Der Aufruf von UseAuthorization
erfolgt vor UseRouting
und ist daher nicht endpunktfähig.
Behandeln von Verstößen
Ändern Sie die Reihenfolge, in der die Aufrufe von UseAuthorization
und UseRouting
ausgeführt werden.
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapDefaultControllerRoute();
});
Wann sollten Warnungen unterdrückt werden?
Diese Regel kann gefahrlos unterdrückt werden, wenn der Aufruf von UseAuthorization
dazu dient, die Fallbackrichtlinie für alle ausgehenden Anforderungen zu autorisieren, oder wenn Ressourcen autorisiert werden sollen, die nicht per Endpunktrouting weitergeleitet werden.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für