ASP0001: El middleware de autorización está configurado incorrectamente
Valor | |
---|---|
Identificador de la regla | ASP0001 |
Categoría | Uso |
La corrección es problemática o no problemática | Poco problemático |
Causa
Se ha detectado una llamada fuera de servicio a UseAuthorization en el código de inicio de la aplicación.
Descripción de la regla
Para que la autorización sea efectiva para las rutas de punto de conexión, la llamada a UseAuthorization
debe aparecer entre las llamadas a UseRouting
y UseEndpoints
. En ausencia de esto, la directiva de reserva, si está configurada, se usará para autorizar todas las solicitudes.
Observe el código siguiente:
app.UseStaticFiles();
app.UseAuthorization();
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapDefaultControllerRoute();
});
La llamada a UseAuthorization
aparece antes que UseRouting
y, por tanto, no tiene en cuenta el punto de conexión.
Cómo corregir infracciones
Cambie el orden en el que se realiza la llamada a UseAuthorization
y UseRouting
.
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapDefaultControllerRoute();
});
Cuándo suprimir las advertencias
Es seguro suprimir esta regla si la llamada a UseAuthorization
está pensada para autorizar la directiva de reserva en todas las solicitudes salientes o está pensada para autorizar los recursos que no se enrutan mediante el enrutamiento de puntos de conexión.