Sdílet prostřednictvím


ASP0025: K registraci autorizačních služeb a vytváření zásad použijte AddAuthorizationBuilder.

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

Příčina

Použití AddAuthorization lze převést na nový AddAuthorizationBuilder.

Popis pravidla

Slouží AddAuthorizationBuilder k registraci autorizačních služeb a vytváření zásad.

Jak opravit porušení

Chcete-li opravit porušení tohoto pravidla, nahraďte použití AddAuthorization parametrem AddAuthorizationBuilder.

Oprava kódu převede jakékoli použití setterů pro následující vlastnosti AuthorizationOptions:

Tato použití setteru se převedou na ekvivalentní volání AuthorizationBuildermetody:

Žádná diagnostika není hlášena, když akce konfigurace předaná AddAuthorization použije některého z následujících členů AuthorizationOptions:

AuthorizationBuilder nemá ekvivalenty pro tyto členy AuthorizationOptions, takže je nelze převést.

Není hlášena žádná diagnostika, pokud konfigurace předaná do AddAuthorization obsahuje operace nesouvisející s AuthorizationOptions. Oprava kódu by nemohla automaticky mapovat nesouvisející operace na fluent API AddAuthorizationBuilder.

Následující příklad ukazuje kód, který aktivuje tuto diagnostiku:

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddAuthorization(options =>
{
    options.AddPolicy("AtLeast21", policy =>
        policy.Requirements.Add(new MinimumAgeRequirement(21)));
});

var app = builder.Build();

app.UseAuthorization();

app.Run();

Následující příklad ukazuje výsledek použití opravy kódu:

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddAuthorizationBuilder()
  .AddPolicy("AtLeast21", policy =>
  {
        policy.Requirements.Add(new MinimumAgeRequirement(21));
  });

var app = builder.Build();

app.UseAuthorization();

app.Run();

Kdy potlačit upozornění

Úroveň závažnosti této diagnostiky je informativní. Pokud nechcete používat novou syntaxi, potlačí upozornění.