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.