2011-01-02 7 views
5

की/छिपाने भागों को दिखाने के लिए मैं सोच रहा हूँ? मैं सोच रहा हूँ मैंक्या रास्ता तरह से देखने का/छिपाने भागों को दिखाने के लिए Zend_Acl उपयोग करने के लिए क्या दृश्य में Zend_Acl उपयोग करने के लिए दृश्य

  1. एक नियंत्रक प्लगइन उस दृश्य लिपियों में फिर

    $this->view->loggedInUser = Zend_Auth::getIdentity(); 
    $this->view->acl = Zend_Registry::get('acl'); 
    
  2. देखने पर उपयोगकर्ता + एसीएल में लॉग इन कर गुजरता बनाएं जाएगा

    $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); 
    } 
} 
संबंधित मुद्दे

 संबंधित मुद्दे