Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
| 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ů.