Dela via


ASP0001: Mellanprogrammet för auktorisering är felaktigt konfigurerat

Värde
Regel-ID ASP0001
Kategori Användning
Korrigeringen är antingen brytande eller icke-brytande Oskiljbar

Orsak

Ett anrop utanför ordningen till UseAuthorization identifierades i applikationens startkod.

Regelbeskrivning

För att auktorisering ska gälla för slutpunktsvägar bör anropet till UseAuthorization visas mellan anropen till UseRouting och UseEndpoints. I avsaknad av detta används reservprincipen, om den är konfigurerad, för att auktorisera alla begäranden.

Överväg följande kod:

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

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

Anropet till UseAuthorization visas före UseRouting och är därför inte slutpunktsmedveten.

Så här åtgärdar du överträdelser

Ändra i vilken ordning anropet till UseAuthorization och UseRouting utförs.

app.UseStaticFiles();

app.UseRouting();

app.UseAuthorization();

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

När du ska ignorera varningar

Det är säkert att ignorera den här regeln om anropet till UseAuthorization är avsett att auktorisera återställningsprincipen för alla utgående begäranden eller är avsedd att auktorisera resurser som inte dirigeras med hjälp av slutpunktsroutning.