Compartilhar via


ASP0001: o middleware de autorização está configurado incorretamente

Valor
ID da regra ASP0001
Categoria Uso
Correção interruptiva ou sem interrupção Sem interrupção

Causa

Uma chamada fora de ordem para UseAuthorization foi detectada no código de inicialização do aplicativo.

Descrição da regra

Para que a autorização seja eficaz para rotas de ponto de extremidade, a chamada para UseAuthorization deve aparecer entre as chamadas para UseRouting e UseEndpoints. Na ausência disso, a política de fallback, se configurada, será usada para autorizar todas as solicitações.

Considere o seguinte código:

app.UseStaticFiles();
app.UseAuthorization();

app.UseRouting();
app.UseEndpoints(endpoints =>
{
    endpoints.MapDefaultControllerRoute();
});

A chamada para UseAuthorization é exibida antes de UseRouting e, consequentemente, não está ciente do ponto de extremidade.

Como corrigir violações

Altere a ordem na qual a chamada para UseAuthorization e UseRouting é executada.

app.UseStaticFiles();

app.UseRouting();

app.UseAuthorization();

app.UseEndpoints(endpoints =>
{
    endpoints.MapDefaultControllerRoute();
});

Quando suprimir avisos

É seguro suprimir essa regra se a chamada para UseAuthorization se destina a autorizar a política de fallback em todas as solicitações de saída ou se destina a autorizar recursos não roteados usando o roteamento de ponto de extremidade.