Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
| Waarde | |
|---|---|
| Regel-id | ASP0025 |
| Categorie | Gebruik |
| De oplossing veroorzaakt brekende of niet-brekende problemen | Niet-afbreekbaar |
Oorzaak
Het gebruik van AddAuthorization kan worden geconverteerd naar de nieuwe AddAuthorizationBuilder.
Beschrijving van regel
Gebruik AddAuthorizationBuilder dit om autorisatieservices te registreren en beleidsregels samen te stellen.
Hoe schendingen op te lossen
Als u een schending van deze regel wilt oplossen, vervangt u het gebruik door AddAuthorizationAddAuthorizationBuilder.
Met de codefix wordt elk gebruik van de setters geconverteerd voor de volgende eigenschappen:AuthorizationOptions
Deze settergebruiken worden geconverteerd naar equivalente methode-aanroepen op AuthorizationBuilder:
Er wordt geen diagnostiek gerapporteerd wanneer de configureeractie die is doorgegeven aan AddAuthorization gebruikmaakt van een van de volgende leden van AuthorizationOptions:
- De methode GetPolicy(String)
- De DefaultPolicy getter
- De FallbackPolicy getter
- De InvokeHandlersAfterFailure getter
AuthorizationBuilder heeft geen equivalenten voor deze leden van AuthorizationOptions, zodat ze niet kunnen worden geconverteerd.
Er wordt geen diagnose gerapporteerd als de geconfigureerde actie die is doorgegeven aan AddAuthorization bewerkingen bevat die niet gerelateerd zijn aan AuthorizationOptions. De codefix kan niet automatisch niet-gerelateerde bewerkingen toewijzen aan de fluent-API van AddAuthorizationBuilder.
In het volgende voorbeeld ziet u code waarmee deze diagnose wordt geactiveerd:
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();
In het volgende voorbeeld ziet u het resultaat van het toepassen van de codefix:
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();
Wanneer waarschuwingen onderdrukken
Het ernstniveau van deze diagnose is Informatief. Onderdrukt waarschuwingen als u de nieuwe syntaxis niet wilt gebruiken.