Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
| Valeur | |
|---|---|
| Identificateur de la règle | ASP0025 |
| Catégorie | Utilisation |
| Le correctif est cassant ou non cassant | Inaltérable |
La cause
L’utilisation de AddAuthorization peut être convertie en nouveau AddAuthorizationBuilder.
Description de la règle
Utilisez AddAuthorizationBuilder pour enregistrer des services d’autorisation et construire des politiques.
Comment corriger les violations
Pour corriger une violation de cette règle, remplacez l’utilisation de AddAuthorization par AddAuthorizationBuilder.
Le correctif de code convertit toute utilisation des setters pour les propriétés suivantes de AuthorizationOptions :
Ces utilisations setter sont converties en appels de méthode équivalents sur AuthorizationBuilder:
Aucun diagnostic n’est signalé lorsque l’action de configuration passée pour AddAuthorization est utilisé l’un des membres suivants de AuthorizationOptions:
- Méthode GetPolicy(String)
- Le DefaultPolicy getter
- Le FallbackPolicy getter
- Le InvokeHandlersAfterFailure getter
AuthorizationBuilder n’a pas d’équivalents pour ces membres AuthorizationOptions, de sorte qu’ils ne peuvent pas être convertis.
Aucun diagnostic n’est signalé si l’action de configuration passée à AddAuthorization contient des opérations non liées à AuthorizationOptions. Le correctif de code ne serait pas en mesure de mapper automatiquement les opérations non liées à l’API Fluent de AddAuthorizationBuilder.
L’exemple suivant montre le code qui déclenche ce diagnostic :
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();
L’exemple suivant montre le résultat de l’application du correctif de code :
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();
Quand supprimer les avertissements
Le niveau de gravité de ce diagnostic est Information. Supprimez les avertissements si vous ne souhaitez pas utiliser la nouvelle syntaxe.