<?php // 만들다ACL물체 $acl = new Zend_Acl(); // 역할을 정의합니다 $acl->addrole (new zend_acl_role ( 'Guest')); // 게스트 역할 정의 $ acl-> addrole (new zend_acl_role ( 'user')); // 사용자 역할 정의 // 리소스 정의 $ acl-> addResource (new zend_acl_resource ( 'index')); // 홈페이지 리소스 정의 $ acl-> addResource (new Zend_acl_resource ( 'profile')); // 개인 데이터 자원 정의 // 권한 할당 $ acl-> allow ( 'guest', 'index'); // 방문자는 홈페이지를 방문 할 수 있습니다 $ acl-> allow ( 'user', 'index'); // 사용자는 홈 페이지에 액세스 할 수 있습니다 $ ACL-> allow ( '사용자', '프로파일'); // 사용자는 개인 정보에 액세스 할 수 있습니까?>
<?php class IndexController extends Zend_Controller_Action { public function init() { parent::init(); // 현재 로그인 한 사용자의 역할을 얻으십시오 $role = Zend_Auth::getInstance()-> getIndity ()-> 역할; // 사용자가 현재 리소스에 액세스 할 수있는 권한이 있는지 확인합니다. $ this-> _ 리디렉션 ( '/error/not-allowed'); // 권한이 없으면 오류 페이지로 리디렉션} } 공개 함수 indexAction () { // 홈페이지보기}} } ?>
위의 코드에서 컨트롤러의 INT 메소드는 현재 로그인 한 사용자의 역할을 얻고 ACL의 ISLAXLED 메소드를 호출하여 사용자가 지정된 리소스에 액세스 할 수있는 권한이 있는지 확인하는 데 사용됩니다. 사용자에게 권한이없는 경우 시스템이 오류 페이지로 리디렉션됩니다.
권한 관리 시스템을 개발하든 민감한 페이지를 보호하든 Zend 프레임 워크의 ACL 구성 요소는 웹 애플리케이션이 안전하고 신뢰할 수 있도록 강력한 지원을 제공 할 수 있습니다.