ASP0025: Użyj polecenia AddAuthorizationBuilder, aby zarejestrować usługi autoryzacji i konstruować zasady.
Wartość | |
---|---|
Identyfikator reguły | ASP0025 |
Kategoria | Użycie |
Poprawka powodująca niezgodność lub niezgodność | Niezgodność |
Przyczyna
Użycie AddAuthorization elementu można przekonwertować na nowy AddAuthorizationBuilderelement .
Opis reguły
Służy AddAuthorizationBuilder
do rejestrowania usług autoryzacji i konstruowania zasad.
Jak naprawić naruszenia
Aby naprawić naruszenie tej reguły, zastąp użycie elementu ciągiem AddAuthorization
AddAuthorizationBuilder
.
Poprawka kodu konwertuje dowolne użycie elementów ustawiających dla następujących właściwości :AuthorizationOptions
Te użycie metody ustawiającej są konwertowane na równoważne wywołania metody w metodzie :AuthorizationBuilder
Nie jest zgłaszana diagnostyka, gdy akcja konfiguracji przekazana do AddAuthorization
użycia dowolnego z następujących elementów członkowskich:AuthorizationOptions
- Metoda GetPolicy(String)
- Element pobierający DefaultPolicy
- Element pobierający FallbackPolicy
- Element pobierający InvokeHandlersAfterFailure
AuthorizationBuilder
nie ma odpowiedników dla tych elementów członkowskich AuthorizationOptions
, więc nie można ich przekonwertować.
Nie jest zgłaszana żadna diagnostyka, jeśli akcja konfiguracji przekazana do AddAuthorization
elementu zawiera operacje niepowiązane AuthorizationOptions
z . Poprawka kodu nie będzie mogła automatycznie mapować niepowiązanych operacji na płynny interfejs API .AddAuthorizationBuilder
W poniższym przykładzie pokazano kod, który wyzwala tę diagnostykę:
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();
W poniższym przykładzie pokazano wynik zastosowania poprawki kodu:
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();
Kiedy pomijać ostrzeżenia
Poziom ważności tej diagnostyki to Informacje. Pomiń ostrzeżenia, jeśli nie chcesz używać nowej składni.