Otorisasi: Sumber daya dalam perutean titik akhir adalah HttpContext
Saat menggunakan perutean titik akhir di ASP.NET Core 3.1, sumber daya yang digunakan untuk otorisasi adalah titik akhir. Pendekatan ini tidak cukup untuk mendapatkan akses ke data rute (RouteData). Sebelumnya di MVC, HttpContext sumber daya diteruskan, yang memungkinkan akses ke titik akhir (Endpoint) dan data rute. Perubahan ini memastikan bahwa sumber daya yang diteruskan ke otorisasi selalu HttpContext
menjadi .
Versi yang diperkenalkan
ASP.NET Core 5.0
Perilaku yang lama
Saat menggunakan perutean titik akhir dan atribut middleware otorisasi (AuthorizationMiddleware) atau [Otorisasi ], sumber daya yang diteruskan ke otorisasi adalah titik akhir yang cocok.
Perilaku yang baru
Perutean titik akhir meneruskan HttpContext
ke otorisasi.
Alasan untuk berubah
Anda bisa sampai ke titik akhir dari HttpContext
. Namun, tidak ada cara untuk mendapatkan dari titik akhir ke hal-hal seperti data rute. Ada kehilangan fungsionalitas dari perutean non-titik akhir.
Tindakan yang direkomendasikan
Jika aplikasi Anda menggunakan sumber daya titik akhir, panggil GetEndpoint HttpContext
untuk terus mengakses titik akhir.
Anda dapat kembali ke perilaku lama dengan SetSwitch. Misalnya:
AppContext.SetSwitch(
"Microsoft.AspNetCore.Authorization.SuppressUseHttpContextAsAuthorizationResource",
isEnabled: true);
API yang Terpengaruh
Tidak ada