Làm thế nào để hạn chế quyền truy cập vào phương thức Web API cho một HTTP verb cụ thể?
Làm thế nào để hạn chế quyền truy cập vào phương thức Web API cho một HTTP verb cụ thể?
Để hạn chế quyền truy cập vào một phương thức Web API cho một HTTP verb cụ thể, bạn có thể sử dụng các thuộc tính HTTP verb trong ASP.NET Web API. Các thuộc tính này bao gồm: [HttpGet]
, [HttpPost]
, [HttpPut]
, [HttpDelete]
, [HttpPatch]
. Bằng cách áp dụng một trong những thuộc tính này lên trên phương thức trong controller của bạn, bạn có thể chỉ định rằng phương thức đó chỉ có thể được truy cập thông qua HTTP verb tương ứng.
Ví dụ, nếu bạn muốn một phương thức chỉ được truy cập qua HTTP GET, bạn sẽ sử dụng thuộc tính [HttpGet]
như sau:
public class DemoController : ApiController
{
[HttpGet]
public IHttpActionResult FetchStudentsList()
{
// Mã xử lý để lấy danh sách sinh viên
return Ok(students);
}
}
Trong ví dụ trên, phương thức FetchStudentsList
chỉ có thể được gọi thông qua HTTP GET. Nếu một yêu cầu được gửi đến phương thức này sử dụng một HTTP verb khác (ví dụ: POST, PUT, DELETE), ASP.NET Web API sẽ trả về một lỗi HTTP 405 Method Not Allowed[1][18][19].
Citations:
[1] https://www.tutorialspoint.com/how-can-we-restrict-access-to-methods-with-specific-http-verbs-in-chash-asp-net-webapi
[2] https://stackoverflow.com/questions/41128589/how-do-i-disable-verbs-for-asp-net-web-api
[3] https://www.googlecloudcommunity.com/gc/Apigee/Restrict-access-to-apis-by-product-and-HTTP-method/m-p/16831/highlight/true
[4] https://learn.microsoft.com/en-us/aspnet/web-api/overview/security/authenticati...
middle
Chưa có bình luận nào