Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
När du använder slutpunktsroutning i ASP.NET Core 3.1 är den resurs som används för auktorisering slutpunkten. Den här metoden var otillräcklig för att få åtkomst till routningsdata (RouteData). Tidigare i MVC skickades en HttpContext resurs in, vilket ger åtkomst till både slutpunkten (Endpoint) och routningsdata. Den här ändringen säkerställer att resursen som skickas till auktoriseringen alltid är HttpContext.
Version lanserad
ASP.NET Core 5.0
Gammalt beteende
När du använder slutpunktsroutning och auktoriseringsmellanvara (AuthorizationMiddleware) eller [Auktorisera] attributen, är den resurs som skickas till auktoriseringen den matchande slutpunkten.
Nytt beteende
Slutpunktsroutning skickar HttpContext till auktorisering.
Orsak till ändring
Du kan komma till slutpunkten från HttpContext. Det gick dock inte att komma från slutpunkten till saker som routningsdata. Det uppstod en funktionsförlust från icke-slutpunktsroutning.
Rekommenderad åtgärd
Om din app använder slutpunktsresursen, anropa GetEndpoint på HttpContext för att fortsätta komma åt slutpunkten.
Du kan återgå till det gamla beteendet med SetSwitch. Till exempel:
AppContext.SetSwitch(
"Microsoft.AspNetCore.Authorization.SuppressUseHttpContextAsAuthorizationResource",
isEnabled: true);
Berörda API:er
Ingen