ZendのAclでは、リソースをコントローラーでのみ作成できます
ただし、コントローラーは、デフォルトのモジュールだけでなく、任意のモジュール上にある可能性があります。それで、私はインターネットからいくつかの記事を読みました、私はそれを見つけてこれを試しました:
$acl -> addResource(new Zend_Acl_Resource("admin"));
$acl -> addResource(new Zend_Acl_Resource("admin:page"), "admin");
$acl -> addResource(new Zend_Acl_Resource("admin:posts"), "admin");
しかし、それでも、それぞれのページを参照すると、リソースpage
が見つからない、または見つからないというエラーが発生しposts
ます。
モジュール固有のACLリソースを設定する方法は?
アップデート:
$acl -> addrole(new Zend_Acl_Role('guest'))
-> addrole(new Zend_Acl_ROle('admin'), 'admin');
$acl -> addResource(new Zend_Acl_Resource("page")); //controller with same name in admin module exists
$acl -> addResource(new Zend_Acl_Resource("admin"));
$acl -> addResource(new Zend_Acl_Resource("admin:page"), "admin");
$acl -> addResource(new Zend_Acl_Resource("admin:posts"), "admin");
$acl -> deny(null, null);
$acl -> allow('user', 'page', 'view');
$acl -> allow('admin', null);