Compartilhar via


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

Value
ID da regra ASP0001
Categoria Usage
Correção é disruptiva ou não disruptiva Non-breaking

Motivo

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 efetiva para rotas de endpoint, a chamada 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 aparece antes de UseRouting e, consequentemente, não está ciente do endpoint.

Como corrigir violações

Altere a ordem em que as chamadas para UseAuthorization e UseRouting são executadas.

app.UseStaticFiles();

app.UseRouting();

app.UseAuthorization();

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

Quando suprimir avisos

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