Sdílet prostřednictvím


ASP0001: Autorizační middleware je nesprávně nakonfigurovaný

Hodnota
Identifikátor pravidla ASP0001
Kategorie Použití
Oprava je destruktivní nebo nedestruktivní Nezlomitelný

Příčina

V počátečním kódu aplikace se zjistilo volání UseAuthorization mimo pořadí.

Popis pravidla

Aby autorizace byla efektivní pro trasy koncových bodů, měla by se mezi UseAuthorization voláními UseRoutingUseEndpointsa . V případě absence této zásady se při konfiguraci použijí k autorizaci všech požadavků.

Vezměte v úvahu následující kód:

app.UseStaticFiles();
app.UseAuthorization();

app.UseRouting();
app.UseEndpoints(endpoints =>
{
    endpoints.MapDefaultControllerRoute();
});

Volání na UseAuthorization se objeví před UseRouting a v důsledku toho si není vědomo koncových bodů.

Jak opravit porušení

Změňte pořadí, ve kterém jsou prováděny volání UseAuthorization a UseRouting.

app.UseStaticFiles();

app.UseRouting();

app.UseAuthorization();

app.UseEndpoints(endpoints =>
{
    endpoints.MapDefaultControllerRoute();
});

Kdy potlačit upozornění

Toto pravidlo je bezpečné potlačit, pokud je volání UseAuthorization určené k autorizování záložní politiky pro všechny odchozí požadavky, nebo je určené k autorizaci prostředků, které nejsou směrovány prostřednictvím směrování koncových bodů.