Zend_Acl घटक को अपडेट करने से एप्लिकेशन कार्यक्षमता टूट जाती है

केवल संस्करण १.१०.६ से संस्करण १.११ तक उन्नत होने के बाद, मुझे सबसे दुखद तथ्य यह पता चला कि व्यवस्थापक खाते ने अधिकांश कार्यक्षमता तक पहुंच खो दी है।



मेरे लिए कुछ संसाधन जोड़ना पहले से ही व्यवस्थापक भूमिका के लिए विशेषाधिकार निर्धारित करने के बाद था।



$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 जुड़ गया



All Articles