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ı HttpContext
sağ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 HttpContext
ulaş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.
Önerilen eylem
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
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin