Tôi đang thực hiện kiểm soát truy cập của trang web mạng nội bộ. Điều này sẽ dễ dàng, nếu công ty không có hơn 200 nhân viên và quyền tùy chỉnh cho hầu hết mọi người. Đó là điên rồ, tôi biết, nhưng tôi không thể thay đổi nó.Có thực thi chung đơn giản về kiểm soát truy cập dựa trên quy tắc không?
Vì vậy, tôi đã cố gắng để tìm một triển khai chung sẽ đáp ứng nhu cầu của tôi, nhưng không thể tìm thấy nó, vì vậy tôi đã đi để làm điều đó bản thân mình. Cuối cùng, tôi nghĩ ra một giải pháp khá chung chung khiến tôi suy nghĩ: ai đó phải làm điều đó trước đây!
Tôi gọi nó là STOP (Chủ đề đối tượng nhiệm vụ quyền) Kiểm soát truy cập. Tôi có mối quan hệ sau:
.-------. .-----------. .-------.
| users |1---*| STOPRules |*---1| tasks |
`-------' '-----------' '-------'
Một Rule DỪNG có các thuộc tính sau
STOPRule {
Subject;
Task;
ObjectType;
Permission;
Relation;
}
Quan hệ đối tượng có thể là: chủ sở hữu, người sáng tạo, Revisor vv lĩnh vực này là không cần thiết, để hỗ trợ nhiệm vụ chung. Khi nó ở đó, mối quan hệ giữa người dùng hiện tại và cá thể đối tượng được tính toán bởi một đại biểu. Quan hệ hiện tại sau đó được so sánh với quan hệ yêu cầu trên quy tắc để cho phép hoặc từ chối truy cập.
Hãy cho tôi biết nếu tôi không đủ rõ ràng.
Hai câu hỏi nảy sinh:
Có một thực hiện mã nguồn mở như thế này?
Bạn có thấy bất kỳ vấn đề nào tôi gặp phải sau đường dẫn này không?
EDIT: Tôi đã tiếp tục và bắt đầu triển khai mô hình này. Vấn đề đầu tiên là tôi cần mối quan hệ giữa chủ thể và đối tượng để hỗ trợ bất kỳ trường hợp sử dụng nào. Bây giờ, tôi có thể lưu trữ các nguyên tắc sau:
John (tùy) thể (phép) chỉnh sửa (nhiệm vụ) ra lệnh (object) NẾU ông là tạo (liên quan) của gọi món.
Xin vui lòng, các bạn có thể cung cấp một trường hợp sử dụng thực tế không thể diễn tả bằng mô hình này không?
+1 cho không gian loại "không gian văn phòng" - có thể bạn cũng đã điền tất cả các báo cáo tps. – JonH
Là một phần dành cho thiết kế mô hình của bạn, [Kiểm soát truy cập dựa trên vai trò] (http://en.wikipedia.org/wiki/Role-based_access_control) có giống như nó phù hợp với mô hình hóa đơn không? Tiêu đề của bạn rất gần với điều này, tôi tự hỏi nếu đó là những gì bạn có nghĩa là ban đầu. –
@Ninfingers no, thật không may là không. AC dựa trên rOle và AC dựa trên rUle có cùng từ viết tắt nhưng khác nhau và tôi có nghĩa là từ thứ hai. Trên ac dựa trên quy tắc, các quy tắc truy cập được xác định trong đối tượng (hoặc tài nguyên) được bảo mật (nói từ một khung nhìn hệ điều hành) thích ứng với Web, gần nhất tôi thấy là Zend_Acl thực hiện ACL trên Zend khuôn khổ, nhưng nó hy vọng tôi để tải tất cả các điều khoản, vì nó là rOle và không rUle dựa, nó giả định rằng nó sẽ được rất nhiều quy tắc cho phép. – svallory