Udostępnij za pośrednictwem


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

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 AuthorizationOptionsz . 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.