Kebenaran ialah proses memutuskan sama ada pengguna yang disahkan dibenarkan melakukan operasi Sama ada hendak melaksanakan operasi pada sumber tertentu (sumber API Web). Sebagai contoh, Mempunyai kebenaran untuk mendapatkan dan menerbitkan data adalah sebahagian daripada kebenaran. ini Proses kebenaran berlaku sebelum melaksanakan kaedah tindakan pengawal Memberi anda fleksibiliti dalam memutuskan sama ada kami mahu memberikan akses kepada sumber tersebut Atau tidak.
Dalam API Web ASP.NET, kebenaran dilaksanakan dengan menggunakan penapis kebenaran Ia akan dilaksanakan sebelum kaedah tindakan pengawal dilaksanakan. API Web Menyediakan penapis kebenaran terbina dalam AuthorizeAttribute. Penapis ini menyemak Sama ada pengguna disahkan. Jika tidak, kod status HTTP 401 dikembalikan (Tidak dibenarkan), tiada tindakan diperlukan.
Kami boleh menggunakan penapis secara global, tahap pengawal atau tahap peribadi beroperasi.
Untuk mengehadkan akses kepada setiap pengawal API Web, tambah penapis AuthorizeAttribute ke Senarai penapis global.
public static void Register(HttpConfiguration config){ config.Filters.Add(new AuthorizeAttribute()); }
Untuk menyekat akses kepada pengawal tertentu, tambah penapis sebagai atribut kepada pengawal.
//Semua operasi pada pengawal memerlukan kebenaran. [Kebenaran]
public class StudentsController: ApiController{ public HttpResponseMessage Get(int id) { ... } public HttpResponseMessage Post() { ... } }
Untuk menyekat akses kepada tindakan tertentu, tambahkan atribut ini pada kaedah tindakan.
public class StudentsController : ApiController{ public HttpResponseMessage Get() { ... } // Require authorization for a specific action. [Authorize] public HttpResponseMessage Post() { ... } }
using System.Web.Http; namespace DemoWebApplication.Controllers{ public class DemoController : ApiController{ [Authorize] public IHttpActionResult Get(){ return Ok(); } } }
Memandangkan kami menambahkan atribut keizinan pada kaedah tindakan, kaedah tindakan harus diakses menggunakan kebenaran yang sesuai (seperti token pembawa, kunci API, OAuth, dll.). Akses tanpa kebenaran akan menghasilkan respons 401 Tidak dibenarkan seperti yang ditunjukkan di bawah.
Atas ialah kandungan terperinci Apakah kegunaan atribut kebenaran dalam C# Asp.Net webAPI?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!