Tất cả các công cụ bảo mật tôi đã làm việc trong quá khứ trong ASP.Net cho hầu hết các phần đã được dựa trên vai trò. Điều này là dễ dàng, đủ để thực hiện và ASP.Net là hướng cho loại mô hình bảo mật. Tuy nhiên, tôi đang tìm kiếm một thứ gì đó tốt hơn một chút so với bảo mật dựa trên vai trò đơn giản.Bảo mật ASP.Net bằng cách sử dụng Bảo mật dựa trên hoạt động
Về cơ bản tôi muốn để có thể viết mã như thế này:
if(SecurityService.CanPerformOperation("SomeUpdateOperation")){
// perform some update logic here
}
Tôi cũng sẽ cần hàng truy cập bảo mật ở mức như thế này:
if(SecurityService.CanPerformOperation("SomeViewOperation", SomeEntityIdentifier)){
// Allow user to see specific data
}
Một lần nữa, tiền phạt kiểm soát truy cập grained. Có cái gì như thế này đã được xây dựng? Một số khung mà tôi có thể thả vào ASP.Net và bắt đầu sử dụng, hoặc tôi sẽ phải xây dựng bản thân mình?
@Josh: Bạn đã bao giờ tìm thấy một cách thích hợp để thực hiện một cái gì đó như thế này? – Breadtruck
Có một phần. Tôi đã giải quyết vấn đề hoạt động bằng cách tạo một bảng vai trò trong cơ sở dữ liệu có bảng xRef liên kết ngược lại với chính nó. Bằng cách này, tôi có thể tạo ra một cấu trúc cây của các vai trò, và sử dụng một CTE để mang lại hệ thống phân cấp phẳng. Tôi tạo ra vai trò tùy chỉnh và các nhà cung cấp thành viên để làm công việc bẩn và để cho ASP.Net xử lý phần còn lại. Có vẻ hơi buồn cười trong mã bởi vì mọi thứ đều là một vai trò hợp lý, nhưng về mặt khái niệm thì có vai trò và quyền hạn. – Josh