Freigeben über


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.