Cơ chế xác nhận nghĩa là gì trong ASP.NET Identity Core mới?
Có hai cách tiếp cận ủy quyền phổ biến dựa trên Vai trò và Yêu cầu bồi thường.
Bảo mật dựa trên vai trò
Người dùng được gán cho một hoặc nhiều vai trò thông qua đó người dùng có quyền truy cập. Ngoài ra, bằng cách gán người dùng cho một vai trò, người dùng ngay lập tức nhận được tất cả các quyền truy cập được xác định cho vai trò đó.
Bảo mật dựa trên yêu cầu bồi thường
Một danh tính dựa trên yêu cầu là tập hợp các yêu cầu. Khiếu nại là một tuyên bố mà một thực thể (người dùng hoặc ứng dụng khác) tự đưa ra, đó chỉ là một tuyên bố. Ví dụ: danh sách khiếu nại có thể có tên người dùng, e-mail của người dùng, tuổi của người dùng, ủy quyền của người dùng cho một hành động. Trong Bảo mật dựa trên vai trò, người dùng trình bày thông tin đăng nhập trực tiếp cho ứng dụng. Trong mô hình dựa trên khiếu nại, người dùng trình bày các khiếu nại chứ không phải thông tin đăng nhập cho ứng dụng. Để một yêu cầu có giá trị thực tế, nó phải đến từ một thực thể mà ứng dụng tin tưởng.
Các bước dưới đây minh họa trình tự xảy ra trong mô hình bảo mật dựa trên khiếu nại:
- Người dùng yêu cầu một hành động. Ứng dụng bên dựa (RP) yêu cầu mã thông báo.
- Người dùng trình bày thông tin đăng nhập cho cơ quan cấp phát hành mà ứng dụng RP tin tưởng.
- Cơ quan phát hành phát hành mã thông báo đã ký với các khiếu nại, sau khi xác thực thông tin đăng nhập của người dùng.
- Người dùng trình bày mã thông báo cho ứng dụng RP. Ứng dụng xác nhận chữ ký mã thông báo, trích xuất các khiếu nại và dựa trên các khiếu nại, chấp nhận hoặc từ chối yêu cầu.
Nhưng, tôi vẫn không thể hiểu và tìm thấy bất kỳ thông tin nào, khi dữ liệu thêm vào AspNetUserClaims và tình huống mà bảng này sử dụng cho?
Khi bạn ở trong tình huống Bảo mật dựa trên vai trò không được sử dụng và bạn đã chọn sử dụng Bảo mật dựa trên yêu cầu, bạn sẽ cần sử dụng bảng AspNetUserClaims. Để biết cách sử dụng Yêu cầu bồi thường trong Nhận dạng ASP.NET, hãy xem liên kết bên dưới để biết thêm thông tin.
http://kevin-junghans.blogspot.com/2013/12/USE-claims-in-aspnet-identity.html
Cập nhật
Thời gian nào tôi phải sử dụng bảo mật dựa trên vai trò và khi dựa trên yêu cầu? Bạn có thể vui lòng viết một vài ví dụ?
Không có một tình huống rất rõ ràng khi bạn sẽ hoặc không sử dụng Bảo mật dựa trên vai trò hoặc Yêu cầu dựa trên vai trò, Không giống như trường hợp bạn sẽ sử dụng A thay vì B.
Nhưng, kiểm soát truy cập dựa trên yêu cầu cho phép tách tốt hơn các quy tắc ủy quyền khỏi logic kinh doanh cốt lõi. Khi quy tắc ủy quyền thay đổi, logic kinh doanh cốt lõi vẫn không bị ảnh hưởng. Sẽ có những tình huống mà bạn có thể thích sử dụng phương pháp Yêu cầu dựa trên yêu cầu.
Đôi khi yêu cầu không cần thiết. Đây là một từ chối trách nhiệm quan trọng. Các công ty có một loạt các ứng dụng nội bộ có thể sử dụng Xác thực Windows tích hợp để đạt được nhiều lợi ích được cung cấp bởi khiếu nại. Active Directory thực hiện rất tốt việc lưu trữ danh tính người dùng và vì Kerberos là một phần của Windows, các ứng dụng của bạn không phải bao gồm nhiều logic xác thực. Miễn là mọi ứng dụng bạn xây dựng có thể sử dụng Xác thực Windows tích hợp, bạn có thể đã đạt đến danh tính không tưởng. Tuy nhiên, có nhiều lý do tại sao bạn có thể cần một cái gì đó ngoài xác thực Windows. Bạn có thể có các ứng dụng đối mặt với web được sử dụng bởi những người không có tài khoản trong miền Windows của bạn. Một lý do khác có thể là công ty của bạn đã sáp nhập với một công ty khác và bạn ' đang gặp sự cố khi xác thực trên hai khu rừng Windows không (và có thể không bao giờ) có mối quan hệ tin cậy. Có lẽ bạn muốn chia sẻ danh tính với một công ty khác có ứng dụng .NET không phải là .NET hoặc bạn cần chia sẻ danh tính giữa các ứng dụng chạy trên các nền tảng khác nhau (ví dụ: Macintosh). Đây chỉ là một vài tình huống trong đó nhận dạng dựa trên yêu cầu có thể là lựa chọn phù hợp cho bạn.
Để biết thêm thông tin, vui lòng truy cập http://msdn.microsoft.com/en-us/l Library / ff359101.aspx