Autorizace: Prostředek ve směrování koncového bodu je HttpContext
Pokud používáte směrování koncových bodů v ASP.NET Core 3.1, prostředek použitý k autorizaci je koncový bod. Tento přístup nebyl dostatečný pro získání přístupu ke směrovacím datům (RouteData). Dříve v MVC HttpContext byl předán prostředek, který umožňuje přístup ke koncovému bodu (Endpoint) i ke směrovacím datům. Tato změna zajišťuje, že prostředek předaný autorizaci je vždy .HttpContext
Zavedená verze
ASP.NET Core 5.0
Staré chování
Při použití směrování koncového bodu a atributů autorizačního middlewaru (AuthorizationMiddleware) nebo [Authorize] je prostředek předaný autorizaci odpovídajícím koncovým bodem.
Nové chování
Směrování koncového HttpContext
bodu předává autorizaci.
Důvod změny
Ke koncovému bodu se dostanete z objektu HttpContext
. Z koncovéhoboduho systému se ale nedá dostat z koncového bodu na data směrování. Došlo ke ztrátě funkčnosti z jiného směrování než koncového bodu.
Doporučená akce
Pokud vaše aplikace používá prostředek koncového bodu, zavolejte GetEndpoint ho HttpContext
, aby pokračovala v přístupu ke koncovému bodu.
Můžete se vrátit ke starému chování pomocí SetSwitch. Příklad:
AppContext.SetSwitch(
"Microsoft.AspNetCore.Authorization.SuppressUseHttpContextAsAuthorizationResource",
isEnabled: true);
Ovlivněná rozhraní API
Žádné
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro