Sdílet prostřednictvím


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

Hodnota
ID pravidla ASP0025
Kategorie Využití
Oprava způsobující chybu nebo chybu způsobující chybu Nenarušující

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:

Při předání akce konfigurace pro AddAuthorization použití některého z následujících členů AuthorizationOptionsnení hlášena žádná diagnostika:

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

Není hlášena žádná diagnostika, pokud je akce konfigurace předána do AddAuthorization operací nesouvisejících s AuthorizationOptions. Oprava kódu by nemohla automaticky mapovat nesouvisející operace s rozhraním API fluent .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 Informace. Pokud nechcete používat novou syntaxi, potlačí upozornění.