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.