tôi tìm kiếm các tài liệu nhưng tôi không tìm thấy bất cứ điều gì về việc thực hiện ACL trong cakephp 3. Làm thế nào tôi có thể thực hiện uỷ quyền với ACL trong cakephp 3?Authorization và ACL trong cakephp 3
Trả lời
ACL không được tích hợp vào CakePHP 3 như trong CakePHP 2. Nó hiện có sẵn dưới dạng plugin riêng biệt.
Trích từ http://book.cakephp.org/3.0/en/appendices/3-0-migration-guide.html
lớp ACL liên quan đã được chuyển đến một plugin riêng biệt. Password hashers, Nhà cung cấp xác thực và ủy quyền khi được chuyển đến không gian tên \ Cake \ Auth. Bạn được yêu cầu di chuyển nhà cung cấp của mình và cũng lưu trữ không gian tên App \ Auth.
Bạn có thể tìm plugin tại https://github.com/cakephp/acl, nhưng lưu ý rằng plugin chưa ổn định.
Câu hỏi hay, như Daniel Castro cho biết plugin là https://github.com/cakephp/acl.
Phần đó là mất tích là để ghi đè 'isAuthorized' trong 'AppController.php' của bạn với một cái gì đó như:
...
use Acl\Controller\Component\AclComponent;
use Cake\Controller\ComponentRegistry;
...
public function isAuthorized($user){
$Collection = new ComponentRegistry();
$acl= new AclComponent($Collection);
$username=$user['username'];
$controller=$this->request->controller;
$action=$this->request->action;
$check=$acl->check($user['username'],"$controller/$action");
return $check;
}
Có người khôn ngoan hơn tôi sẽ biết tốt hơn nếu các bit dùng/hành động/điều khiển có thể là vệ sinh tốt hơn. Có rất nhiều cảnh báo về sự ổn định của plugin này và 'gotchas' trên acl về hiệu suất.
Tôi cắt lại từ một thực hiện 1.3, nó là hữu ích để thêm vào AppController 'khởi tạo' thông tin từ http://book.cakephp.org/3.0/en/controllers/components/authentication.html
- 1. CakePHP tùy chỉnh ACL Authorization sử dụng acos, huyết long & aros_acos bảng Acl với api_ mở rộng
- 2. ACL trong ASP.NET MVC 3
- 3. Authorization không được tìm thấy trong CakePHP
- 4. CakePHP 2.0.x: ACL: Nhiều nhóm?
- 5. Lỗi CakePHP: Không tìm thấy 'Chuỗi' Lớp học trong Acl
- 6. Sửa đổi chế độ xem dựa trên ACL trong CakePHP
- 7. CakePHP 3 bước đăng ký
- 8. CakePHP 3 có các trường chọn
- 9. Cakephp 3 nhiều formhelpers mẫu tùy chỉnh
- 10. Liệt kê tất cả các bộ điều khiển/hành động trong Cakephp 3
- 11. CakePHP 3 Truy vấn SQL thô
- 12. CakePHP 2.x ACL - Kiểm soát ở cấp chủ sở hữu
- 13. Nơi đặt một lớp PHP tùy chỉnh trong CakePHP 3?
- 14. Lưu mô hình liên quan trong Cakephp 3
- 15. Lưu dữ liệu liên kết HasMany trong CakePHP 3.x
- 16. Authorization Header trong SignalR 2.0
- 17. Đặt hàng 'Chứa' Mô hình trong CakePHP 3.x
- 18. Nhận và bài trong cakephp
- 19. FOSUserBundle và ACL Vai trò kinh doanh
- 20. Cách sử dụng beforeSave trong CakePHP 3? Các sự kiện $, $ entity và $ phải luôn được điền?
- 21. Nhóm và acl trên Spring Security
- 22. ACL linh hoạt trong ASP.NET
- 23. Cocoa Authorization in Swift
- 24. GROUP và COUNT() tuổi trong CakePHP
- 25. Xuân OAuth2 Authorization server
- 26. CakePHP 3: Không thể chèn đồ đạc khi chạy phpunit
- 27. CakePHP, CGI và mod_rewrite
- 28. Chỉ cập nhật một trường trên Cakephp 3
- 29. Điều kiện để phân trang cho thuộcToMany CakePHP 3
- 30. CakePHP 3 Nhiều isUnique cho phép NULL trùng lặp