मेरे लिए कुछ संसाधन जोड़ना पहले से ही व्यवस्थापक भूमिका के लिए विशेषाधिकार निर्धारित करने के बाद था।
$acl->add(new Zend_Acl_Resource('resource1'));
$acl->allow('admin');
$acl->add(new Zend_Acl_Resource('resource2'));
चूंकि यह Zend / Acl.php फ़ाइल के दो संस्करणों को अलग-अलग चलाने के बाद निकला, फ़ाइल की लाइन 636 को बदल दिया गया था।
यह था:
$resources = array($resources);
यह बन गया:
$resources = ($resources == null && count($this->_resources) > 0) ? array_keys($this->_resources) : array($resources);
स्पष्ट रूप से, यदि आप अनुमति विधि को कॉल करते समय संसाधनों को निर्दिष्ट नहीं करते हैं, तो भूमिका के लिए विशेषाधिकार केवल पहले से पंजीकृत संसाधनों के लिए निर्धारित किए जाएंगे, हालांकि पहले इस तरह के कॉल ने सभी संसाधनों तक पहुंचने के लिए विशेषाधिकारों को जोड़ा था। अब, सामान्य ऑपरेशन के लिए, आपको संसाधन को ACL के पहले जोड़ से पहले अनुमति देनी होगी।
मैं उम्मीद करूंगा कि यह एक गलत अवधारणा है और नई रूपरेखा सुरक्षा नीति नहीं है।
जैसा कि यह निकला, इस तरह उन्होंने ZF-9643 को खत्म करने की कोशिश की, जिससे ZF-10649 जुड़ गया