Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Värde | |
---|---|
Regel-ID | ASP0025 |
Kategori | Användning |
Korrigeringen är antingen brytande eller icke-brytande | Oskiljbar |
Orsak
Användningen av AddAuthorization kan konverteras till den nya AddAuthorizationBuilder.
Regelbeskrivning
Använd AddAuthorizationBuilder
för att registrera auktoriseringstjänster och skapa principer.
Så här åtgärdar du överträdelser
Om du vill åtgärda ett brott mot den här regeln ersätter du användningen av AddAuthorization
med AddAuthorizationBuilder
.
Kodkorrigeringen konverterar all användning av setters för följande egenskaper för AuthorizationOptions:
Dessa setter-användningar konverteras till motsvarande metodanrop på AuthorizationBuilder:
Ingen diagnostik rapporteras när konfigurationsåtgärden som skickas till AddAuthorization
använder någon av följande medlemmar i AuthorizationOptions
:
- GetPolicy(String) metoden
- Getter DefaultPolicy
- Getter FallbackPolicy
- Getter InvokeHandlersAfterFailure
AuthorizationBuilder
har inte motsvarigheter för dessa element i AuthorizationOptions
, så de kan inte konverteras.
Ingen diagnostik rapporteras om den konfigurerade åtgärden som skickas till AddAuthorization
innehåller åtgärder som inte är relaterade till AuthorizationOptions
. Kodkorrigeringen skulle inte automatiskt kunna mappa orelaterade åtgärder till api:et fluent för AddAuthorizationBuilder
.
I följande exempel visas kod som utlöser den här diagnostiken:
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();
I följande exempel visas resultatet av att tillämpa kodkorrigeringen:
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();
När du ska ignorera varningar
Allvarlighetsgraden för den här diagnostiken är Information. Ignorera varningar om du inte vill använda den nya syntaxen.
ASP.NET Core