2015-01-01 2 views
7

문서를 검색했지만 cakephp 3에서 ACL 구현에 대한 내용을 찾지 못했습니다. cakephp 3에서 ACL을 사용하여 권한 부여를 구현하려면 어떻게해야합니까?cakephp 3의 인증 및 ACL

답변

4

ACL은 CakePHP 2에서와 같이 CakePHP 3에 내장되어 있지 않습니다. 이제 별도의 플러그인으로 사용할 수 있습니다. http://book.cakephp.org/3.0/en/appendices/3-0-migration-guide.html

ACL 관련된 클래스로부터

인용구는 별도의 플러그로 이동 하였다. 암호 해 셔 : 인증 및 권한 부여 공급자는 \ Cake \ Auth 네임 스페이스로 이동했습니다. 공급자와 hashers도 App \ Auth 네임 스페이스로 이동해야합니다.

플러그인은 https://github.com/cakephp/acl에서 찾을 수 있지만 안정적이지는 않습니다.

3

대니얼 카스트로 (Daniel Castro)가 플러그인이 https://github.com/cakephp/acl에 있다고 말한 것처럼 큰 질문입니다.

없는 부분은 같은 당신의 'AppController.php'에서 'isAuthorized'무시하는 것입니다 : 사용자/액션/컨트롤러 비트가 될 수 있다면 내가 더 잘 알고있는 것보다 더 현명

... 
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; 
    } 

사람 더 나은 위생 처리. 성능 측면에서이 플러그인의 안정성과 acl에 대한 'gotchas'에 대한 경고가 많이 있습니다.

1.3 구현에서 자르므로 http://book.cakephp.org/3.0/en/controllers/components/authentication.html

의 AppController 'initialize'정보를 추가하는 것이 도움이되었습니다.