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

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

王林
Lepaskan: 2023-08-25 23:37:08
ke hadapan
1383 orang telah melayarinya

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());
}
Salin selepas log masuk

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() { ... }
}
Salin selepas log masuk

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() { ... }
}
Salin selepas log masuk

Contoh

using System.Web.Http;
namespace DemoWebApplication.Controllers{
   public class DemoController : ApiController{
      [Authorize]
      public IHttpActionResult Get(){
         return Ok();
      }
   }
}
Salin selepas log masuk

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!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan