Bagikan melalui


ASP0001: Middleware otorisasi salah dikonfigurasi

Nilai
ID Aturan ASP0001
Kategori Penggunaan
Perbaikan bersifat disruptif atau non-disruptif Non-disruptif

Penyebab

Panggilan tidak berurutan ke UseAuthorization terdeteksi dalam kode mulai aplikasi.

Deskripsi aturan

Agar otorisasi efektif untuk rute titik akhir, panggilan ke UseAuthorization akan muncul antara panggilan ke UseRouting dan UseEndpoints. Dengan tidak adanya ini, kebijakan fallback, jika dikonfigurasi, akan digunakan untuk mengotorisasi semua permintaan.

Pertimbangkan gambar berikut:

app.UseStaticFiles();
app.UseAuthorization();

app.UseRouting();
app.UseEndpoints(endpoints =>
{
    endpoints.MapDefaultControllerRoute();
});

Panggilan ke UseAuthorization muncul sebelum UseRouting dan akibatnya tidak menyadari titik akhir.

Cara memperbaiki pelanggaran

Ubah urutan panggilan ke UseAuthorization dan UseRouting dilakukan.

app.UseStaticFiles();

app.UseRouting();

app.UseAuthorization();

app.UseEndpoints(endpoints =>
{
    endpoints.MapDefaultControllerRoute();
});

Kapan harus menekan peringatan

Aman untuk menekan aturan ini jika panggilan ke UseAuthorization dimaksudkan untuk mengotorisasi kebijakan fallback pada semua permintaan keluar, atau dimaksudkan untuk mengotorisasi sumber daya yang tidak dirutekan menggunakan perutean titik akhir.