2012-04-11 146 views
0

我想爲特定操作授予訪問權限。我有模塊:特權,模型:特權,行動:索引和管理。授予對角色的操作權限

我作出這樣

class My_ACL extends Zend_Acl { 

    public function __construct() { 

    $this->addRole(new Zend_Acl_Role('admin')); 

    $this->add(new Zend_Acl_Resource('discussions')) 
      ->add(new Zend_Acl_Resource("privileges")) 
      ->add(new Zend_Acl_Resource('privileges:privilege:index')); 
      // another way for adding actions. 
     // ->add(new Zend_Acl_Resource('privileges:privilege',array('index','manage')); 

     $this->allow('admin', 'account') 
     ->allow('admin', 'privileges:privilege'); 
     } 
    } 

當我做出這樣的指標和管理操作不工作?!

回答

0

您的ACL不會直接綁定到您的控制器/操作。你需要這樣設置,如果這是你想要的。

所以在某處你的要求(可能是作爲一個插件),你需要測試,如果登錄用戶當前訪問您定義的資源,如果沒有,做一些事情......

if(!$acl->isAllowed($users_role, $resource_they_want_to_access)) 
{ 
    // go away, display access denied page etc 
}