Condividi tramite


ASP0001: il middleware di autorizzazione non è configurato correttamente

Valore
ID regola ASP0001
Categoria Utilizzo
Correzione che causa un'interruzione o un'interruzione Nessuna interruzione

Causa

È stata rilevata una chiamata non ordinata a UseAuthorization nel codice di avvio dell'applicazione.

Descrizione regola

Affinché l'autorizzazione sia efficace per le route degli endpoint, la chiamata a UseAuthorization deve essere visualizzata tra le chiamate a UseRouting e UseEndpoints. In assenza di questo, i criteri di fallback, se configurati, verranno usati per autorizzare tutte le richieste.

Osservare il codice seguente:

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

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

La chiamata a UseAuthorization viene visualizzata prima UseRouting e di conseguenza non è compatibile con l'endpoint.

Come correggere le violazioni

Modificare l'ordine in cui viene eseguita la chiamata a UseAuthorization e UseRouting .

app.UseStaticFiles();

app.UseRouting();

app.UseAuthorization();

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

Quando eliminare gli avvisi

È consigliabile eliminare questa regola se la chiamata a UseAuthorization è progettata per autorizzare i criteri di fallback in tutte le richieste in uscita o se si intende autorizzare le risorse non instradate tramite il routing degli endpoint.