Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Importancia | |
---|---|
Identificador de la regla | ASP0025 |
Categoría | Uso |
La corrección es disruptiva o no disruptiva | Poco problemático |
Causa
El uso de AddAuthorization se puede convertir en el nuevo AddAuthorizationBuilder.
Descripción de la regla
Use AddAuthorizationBuilder
para registrar servicios de autorización y construir directivas.
Cómo corregir infracciones
Para corregir una infracción de esta regla, reemplace el uso de AddAuthorization
por AddAuthorizationBuilder
.
La corrección de código convierte cualquier uso de los establecedores para las siguientes propiedades de AuthorizationOptions:
Estos usos de establecedor se convierten en llamadas de método equivalentes en AuthorizationBuilder:
No se notifica ningún diagnóstico cuando la acción de configuración pasada a AddAuthorization
usa cualquiera de los siguientes miembros de AuthorizationOptions
:
- El método GetPolicy(String)
- Captador DefaultPolicy
- Captador FallbackPolicy
- Captador InvokeHandlersAfterFailure
AuthorizationBuilder
no tiene equivalentes para estos miembros de AuthorizationOptions
, por lo que no se pueden convertir.
No se notifica ningún diagnóstico si la acción de configuración pasada a AddAuthorization
contiene operaciones no relacionadas con AuthorizationOptions
. La corrección de código no podría asignar automáticamente operaciones no relacionadas a la API fluida de AddAuthorizationBuilder
.
En el ejemplo siguiente se muestra el código que desencadena este diagnóstico:
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();
En el ejemplo siguiente se muestra el resultado de aplicar la corrección de código:
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();
Cuándo suprimir las advertencias
El nivel de gravedad de este diagnóstico es Información. Suprima advertencias si no desea usar la nueva sintaxis.