mobile theme mode icon
theme mode light icon theme mode dark icon
Random Question Ngẫu nhiên
speech play
speech pause
speech stop

Ủy quyền ASP.NET Core: Tìm hiểu vai trò của người ủy quyền

Trong ASP.NET Core, trình ủy quyền là thành phần kiểm tra xem người dùng có các quyền cần thiết để thực hiện một hành động cụ thể hay không. Nó giống như người gác cổng cho tài nguyên ứng dụng của bạn.

Khi người dùng yêu cầu tài nguyên hoặc thực hiện một hành động, người ủy quyền sẽ được gọi để kiểm tra xem người dùng có quyền thích hợp để truy cập tài nguyên đó hoặc thực hiện hành động đó hay không. Nếu người dùng không có các quyền cần thiết, người ủy quyền sẽ từ chối quyền truy cập và trả về lỗi.

Ví dụ: giả sử bạn có API web cho phép người dùng tạo, đọc, cập nhật và xóa (CRUD) sản phẩm. Bạn có thể sử dụng người ủy quyền để kiểm tra xem người dùng có quyền thích hợp để thực hiện từng hành động này hay không. Nếu người dùng không có các quyền cần thiết, người ủy quyền sẽ từ chối quyền truy cập và trả về lỗi.

Người ủy quyền có thể được triển khai theo nhiều cách khác nhau, chẳng hạn như sử dụng thuộc tính tùy chỉnh, bộ lọc hoặc phần mềm trung gian. Chúng cũng có thể được tích hợp với các hệ thống xác thực và ủy quyền khác, chẳng hạn như OAuth hoặc OpenID Connect.

Trong ASP.NET Core, trình ủy quyền tích hợp được gọi là "DefaultAuthorizationPolicy" và nó dựa trên lớp "AuthorizeAttribution". Thuộc tính này có thể được áp dụng cho bộ điều khiển, hành động và thậm chí cả các tham số riêng lẻ để chỉ định các quyền cần thiết để truy cập.

Ví dụ: đây là ví dụ về cách bạn có thể sử dụng AuthorizeAttribution để yêu cầu người dùng có vai trò "Quản trị viên" để truy cập vào một tài khoản cụ thể action:
```
[Authorize(Roles = "Admin")]
public IActionResult MyAction()
{
// Hành động này chỉ có thể được truy cập bởi người dùng có vai trò Quản trị viên
}
```
Trong ví dụ này, AuthorizeAttribution là áp dụng cho phương thức "MyAction" và yêu cầu người dùng phải có vai trò "Quản trị viên" để truy cập vào phương thức đó. Nếu người dùng không có vai trò "Quản trị viên", họ sẽ bị từ chối truy cập và sẽ trả về lỗi.

Knowway.org sử dụng cookie để cung cấp cho bạn dịch vụ tốt hơn. Bằng cách sử dụng Knowway.org, bạn đồng ý với việc chúng tôi sử dụng cookie. Để biết thông tin chi tiết, bạn có thể xem lại văn bản Chính sách cookie của chúng tôi. close-policy