Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
| 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:
- Metoda GetPolicy(String)
- Getter DefaultPolicy
- Getter FallbackPolicy
- Getter InvokeHandlersAfterFailure
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í.