Có bất kỳ nguồn mở nào, PHP based
, hệ thống kiểm soát truy cập dựa trên vai trò có thể được sử dụng cho CodeIgniter
không?Điều khiển truy cập dựa trên vai trò
Trả lời
Brandon Savage đã trình bày về gói PHP "ApplicationACL" có thể hoặc không thể thực hiện truy cập dựa trên vai trò. PHPGACL cũng có thể hoạt động, nhưng tôi không thể nói chắc chắn với bạn. Tuy nhiên, những gì tôi có thể nói với bạn là thành phần Zend_ACL của khung công tác Zend sẽ thực hiện các thiết lập dựa trên vai trò (tuy nhiên bạn sẽ phải phân lớp để kiểm tra nhiều vai trò cùng một lúc). Tuy nhiên, bạn có thể làm như vậy. Cấp cho nỗi đau này là bạn sẽ phải rút Zend_ACL, tôi không tin rằng nó có bất kỳ phụ thuộc bên ngoài, từ tải về nguyên khối (hoặc thanh toán SVN).
Điều tốt đẹp về Zend_ACL là mặc dù không thể lưu trữ của nó. Bạn có thể xây dựng lại nó mỗi lần hoặc nó được thiết kế để được serialized (tôi sử dụng một sự kết hợp của cả hai, serialize cho bộ nhớ cache và xây dựng lại từ DB).
Phpgacl http://phpgacl.sourceforge.net/ là một generic khuôn khổ acl dựa kiểm soát truy cập
trong khi tôi không biết về bất kỳ thực hiện cụ thể CI, tôi biết rằng bạn chỉ cần tập tin lớp học chính để làm cho công việc Phpgacl. Vì vậy, tôi tin rằng việc tích hợp với CI sẽ không có vấn đề gì. (Tôi đã làm việc với CI)
Tìm hiểu về Khaos ACL là thư viện CI ... Tôi cũng đang kiểm tra phpgacl và cách sử dụng nó cho CI ... Chưa kiểm tra Zend ACL. Nhưng có lẽ nó có thể được "chuyển" sang CI
Có lẽ tôi hiểu nhầm câu hỏi, nhưng không phải là toàn bộ điểm Kiểm soát truy cập dựa trên vai trò (RBAC) đến tránh Danh sách điều khiển truy cập (ACL)?
RBAC khác với danh sách kiểm soát truy cập (ACL) (...) ở chỗ nó gán quyền cho các hoạt động cụ thể với ý nghĩa trong tổ chức, chứ không phải là đối tượng dữ liệu ở mức độ thấp. Ví dụ, một danh sách điều khiển truy cập có thể được sử dụng để cấp hoặc từ chối quyền ghi vào một tệp hệ thống cụ thể, nhưng nó sẽ không nói theo những cách mà tệp có thể được thay đổi. Trong một hệ thống dựa trên RBAC, một hoạt động có thể là tạo một giao dịch 'tài khoản tín dụng' trong một đơn đăng ký tài chính (...). Việc gán quyền thực hiện một thao tác cụ thể là có ý nghĩa, bởi vì các phép toán được tạo ra tốt và có ý nghĩa trong ứng dụng. (Trích: Wikipedia)
Tôi không biết các chi tiết cụ thể về Zend_Acl hoặc việc triển khai khác được đề cập, nhưng nếu họ đang ACL dựa trên, tôi sẽ không khuyên bạn nên sử dụng chúng cho phép dựa trên vai trò.
jframework rbac? – AbiusX
Tôi cũng có cùng ý kiến cho rằng câu trả lời sai được chấp nhận cho câu hỏi này .. ACL và RBAC khác nhiều và giải pháp ACL được chấp nhận cho câu hỏi trên RBAC .. –
Hình thức: "Tôi không khuyến khích sử dụng chúng cho vai trò xác thực. " kiểm soát truy cập! = xác thực Và có, quan trọng hơn là ACL! = RBAC^_^ –
Dùng thử plugin DX_Auth cho CodeIgniter. Tôi đang làm việc trên một tương tự (thay vì, superset) của các chức năng mà DX_Auth có. Tập hợp các addon CI của tôi bao gồm hiển thị các menu (có thể được điều khiển thông qua CSS), bộ kiểm soát truy cập dựa trên vai trò trước khi bộ điều khiển được gọi và các tính năng khác. Tôi hy vọng sẽ sớm xuất bản. Sẽ cung cấp URL dự án khi tôi làm như vậy
RBAC! = ACL - Roland có câu trả lời đúng cho câu hỏi này. BTW tất nhiên nó là một phần thiết yếu của một khuôn khổ để thực hiện bất kỳ loại hệ thống cho phép - ít nhất không có điểm trong việc sử dụng một khuôn khổ, nếu nó không cung cấp cho bạn một hệ thống RBAC được soạn thảo tốt - nó có thể tốt hơn sử dụng một hệ thống mẫu đơn giản với bất kỳ lớp ORM nào sau đó.
Đó là một mô hình phổ biến trong thế giới php, các khuôn khổ như Ruby hoặc Django được "nhân bản" chỉ như một tập con của những khung hiện đại này cung cấp - như một hội chứng điển hình không thấy tích hợp ACL hoặc RBAC tốt những khuôn khổ này - về cơ bản là một trò đùa. Hiện tại chỉ có Khung công tác PHP Yii đi kèm với triển khai RBAC phong nha.
http://www.jframework.info (deadlink)
jFramework có một tiêu chuẩn NIST cấp 2 RBAC với những cải tiến được cho là nhanh nhất hiện nay (bao gồm các tiêu chuẩn) nó có thể hoạt động trên một tập tin cơ sở dữ liệu SQLite đơn và được kiểm tra kỹ lưỡng, hoạt động như một chiếc găng tay.
Có sự phụ thuộc vào jFramework DBAL nhưng bạn có thể thay thế đơn giản truy vấn SQL DBAL trong mã bằng DBAL mong muốn của bạn và tất nhiên bạn có thể sử dụng jFramework theo cách SOP.
Tôi đã tạo một dự án mã nguồn mở được gọi là PHP-Bouncer mà bạn có thể quan tâm. Nó vẫn còn khá trẻ, nhưng hoạt động tốt và dễ cấu hình. Tôi đã kết thúc việc phát triển nó bởi vì không có giải pháp hiện tại nào đáp ứng được nhu cầu của tôi. Tôi hi vọng cái này giúp được!
bạn cần những gì mà dự án của bạn đáp ứng ? Nếu không, đây chỉ là một quảng cáo. – ftrotter
Vì OP đã yêu cầu một "mã nguồn mở, dựa trên PHP, dựa trên vai trò hệ thống kiểm soát truy cập", và PHP-Bouncer là một mã nguồn mở, dựa trên PHP, dựa trên vai trò hệ thống kiểm soát truy cập, tôi đã tìm ra nó sẽ khá phù hợp. –
Liên kết đã chết ... – Code4R7
Thư viện xác thực bằng ion sử dụng người dùng và nhóm - https://github.com/benedmunds/CodeIgniter-Ion-Auth nhưng không có hệ thống RBAC hoạt động để sử dụng và quản lý. Nhưng bạn có thể làm trắng chức năng của bạn.
tôi biết con đường mòn là lạnh, nhưng một dự án mới đã xuất hiện bất ngờ:
PHP-RBAC là một PHP Hierarchical NIST Level 2 Vai trò Chuẩn Dựa Access Control và khá chín chắn. Nó cũng là một dự án OWASP.
Tôi hy vọng bạn thưởng thức nó tại http://phprbac.net
Dưới đây là hai thư viện RBAC cho PHP tôi thấy:
Tôi thực sự sử dụng đầu tiên trong PolyAuth : https://github.com/Polycademy/PolyAuth/
Đó là thư viện auth đầy đủ tính năng bao gồm RBAC cấp 1 NIST. Và có, RBAC không giống như một ACL. Tôi sử dụng Codeigniter là tốt, tất cả các bạn phải làm là sử dụng trình điều khiển PDO và vượt qua trong id kết nối. Xem hướng dẫn này để biết cách thực hiện: http://codebyjeff.com/blog/2013/03/codeigniter-with-pdo
- 1. Sử dụng điều khiển truy cập dựa trên vai trò trong phiên (RBAC)
- 2. Lược đồ DB của điều khiển truy cập dựa trên vai trò
- 3. Điều khiển truy cập dựa trên vai trò với Spring MVC
- 4. Điều khiển truy cập dựa trên vai trò - mẫu MVC chính xác
- 5. Yii framework: kiểm soát dựa trên vai trò truy cập
- 6. Điều hướng dựa trên vai trò
- 7. Lượt xem dựa trên vai trò Django?
- 8. C# Bảo mật dựa trên vai trò
- 9. Truy cập dựa trên vai trò của Yii, quản lý các bài đăng của riêng mình
- 10. Định tuyến dựa trên vai trò MVC
- 11. Kiểm soát truy cập dựa trên vai trò (RBAC) - .Net Component
- 12. Ẩn liên kết dựa trên Vai trò
- 13. Cho phép nhiều vai trò để truy cập điều khiển hành động
- 14. Bảo mật dựa trên vai trò asp.net mvc
- 15. Bảo mật dựa trên vai trò cho OSGi
- 16. Triển khai bảo mật dựa trên vai trò trong LDAP
- 17. Symfony2: Lưu trữ người dùng, vai trò, phân cấp vai trò và điều khiển truy cập trong cơ sở dữ liệu
- 18. Hiển thị điều hướng dựa trên vai trò trong MVC4 Mẫu Bootstrap
- 19. truy cập vai trò "công khai" trong SQL Server
- 20. Cấu trúc ứng dụng cho các tài nguyên RESTful dựa trên vai trò
- 21. Cách thao tác WPF GUI dựa trên vai trò người dùng
- 22. Thực thể bộ lọc bảng điều khiển Sonata Admin Bundle từ vai trò và quyền DDBB
- 23. Thay đổi điều khiển truy cập của điều khiển ASP.NET
- 24. Đặt vai trò người dùng dựa trên một số loại quyền sở hữu trong Spring Security
- 25. Làm cách nào để có được người dùng dựa trên vai trò?
- 26. Tại sao xác thực dựa trên xác nhận quyền sở hữu thay vì xác thực dựa trên vai trò
- 27. Làm cho thành phần JSF dựa trên vai trò người dùng
- 28. Capistrano có thể đặt các biến dựa trên vai trò không?
- 29. Vai trò/nhóm Symfony2 - is_granted không phát hiện vai trò người dùng có
- 30. Asp.net MVC Quản lý vai trò
Robert: Câu trả lời này quá cũ nên tốt nhất là không nên làm theo lời khuyên của nó ngay cả khi các liên kết vẫn hoạt động – dcousineau