Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah kegunaan atribut kebenaran dalam C# Asp.Net webAPI?

Apakah kegunaan atribut kebenaran dalam C# Asp.Net webAPI?

王林
王林ke hadapan
2023-08-25 23:37:081301semak imbas

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.

Global

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());
}

Pengawal

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() { ... }
}

Tindakan

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() { ... }
}

Contoh

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.

C# Asp.Net webAPI 中的授权属性有什么用?

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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Artikel sebelumnya:Pasangan nilai kunci dalam C#Artikel seterusnya:Pasangan nilai kunci dalam C#