Aracılığıyla paylaş


Yetkilendirme: Uç nokta yönlendirmesindeki kaynak HttpContext'tir

ASP.NET Core 3.1'de uç nokta yönlendirme kullanılırken yetkilendirme için kullanılan kaynak uç noktadır. Bu yaklaşım, yol verilerine (RouteData) erişim elde etmek için yetersizdi. Daha önce MVC'de, hem uç noktaya (Endpoint) hem de yol verilerine erişim sağlayan bir HttpContext kaynak geçirildi. Bu değişiklik, yetkilendirmeye geçirilen kaynağın her zaman için olmasını HttpContextsağlar.

Sürüm kullanıma sunulmuştur

ASP.NET Core 5.0

Eski davranış

Uç nokta yönlendirme ve yetkilendirme ara yazılımı (AuthorizationMiddleware) veya [Yetkilendir] öznitelikleri kullanılırken, yetkilendirmeye geçirilen kaynak eşleşen uç noktadır.

Yeni davranış

Uç nokta yönlendirmesi HttpContext yetkilendirmeye geçirir.

Değişiklik nedeni

uç noktasına içinden HttpContextulaşabilirsiniz. Ancak, uç noktadan rota verileri gibi şeylere ulaşmak için hiçbir yol yoktu. Uç nokta dışı yönlendirmeden işlevsellik kaybı oluştu.

Uygulamanız uç nokta kaynağını kullanıyorsa uç noktaya erişmeye devam etmek için öğesini arayın GetEndpointHttpContext .

ile SetSwitcheski davranışa geri dönebilirsiniz. Örneğin:

AppContext.SetSwitch(
    "Microsoft.AspNetCore.Authorization.SuppressUseHttpContextAsAuthorizationResource",
    isEnabled: true);

Etkilenen API’ler

Hiçbiri