2011-01-02 6 views
5

ビューの表示/非表示にZend_Aclを使用する方法は何ですか?私はビューでZend_Aclを使用してビューの一部を表示/非表示にする方法

  1. は、ビュースクリプトに続いて

    $this->view->loggedInUser = Zend_Auth::getIdentity(); 
    $this->view->acl = Zend_Registry::get('acl'); 
    
  2. を表示するために、ユーザー+ ACLで行うログイン渡しコントローラプラグインを作成します考えています

    $this->acl->isAllowed($this->view->loggedInUser, 'resource', 'privilege'); 
    
のようなもの

それとも良い方法がありますか?または、ビューヘルパーを使用する必要がありますか?これは、ログインしたユーザーが許可されているかどうかを真偽値で返します。

答えて

4

私のためなViewHelperは、そのための正しい場所であるので、あなたは、ビューでそれを使用している - 私はそのように一度それをやった:

class Zend_View_Helper_HasAccess extends Zend_View_Helper_Abstract 
{ 
    private $_acl; 
    public function hasAccess($role, $controller, $action) 
    { 
     if (!$this->_acl) { 
      $this->_acl = Zend_Controller_Front::getInstance()->getPlugin('Acl'); 
      //In yout case registry, but front controller plugin is better way to implement ACL 
     } 
     return $this->_acl->isAllowed($role, $controller, $action); 
    } 
} 
関連する問題