Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Ao usar o roteamento de ponto de extremidade no ASP.NET Core 3.1, o recurso usado para autorização é o ponto de extremidade. Esta abordagem foi insuficiente para obter acesso aos dados de rota (RouteData). Anteriormente, no MVC, um recurso HttpContext era passado, o que permite o acesso ao ponto de extremidade (Endpoint) e aos dados de rota. Essa alteração garante que o recurso passado para autorização seja sempre o HttpContext.
Versão introduzida
ASP.NET Núcleo 5.0
Comportamento antigo
Ao usar o roteamento de ponto de extremidade e os atributos de middleware de autorização (AuthorizationMiddleware) ou [Autorizar], o recurso passado para autorização é o ponto de extremidade correspondente.
Novo comportamento
O roteamento de ponto final encaminha HttpContext para a autorização.
Motivo da mudança
Você pode chegar ao ponto de extremidade a partir de HttpContext. No entanto, não havia como ir do ponto de extremidade para coisas como os dados de rota. Houve uma perda na funcionalidade do roteamento não terminal.
Ação recomendada
Se a sua aplicação usa o recurso de ponto de acesso, utilize GetEndpoint no HttpContext para continuar a aceder ao ponto de acesso.
Você pode reverter para o comportamento antigo com SetSwitch. Por exemplo:
AppContext.SetSwitch(
"Microsoft.AspNetCore.Authorization.SuppressUseHttpContextAsAuthorizationResource",
isEnabled: true);
APIs afetadas
Nenhum