मुझे पता चला है कि कक्षा में \Magento\Backend\App\AbstractAction
(प्रत्येक व्यवस्थापक नियंत्रक कार्रवाई का पूर्वज) एक सदस्य है जिसे _publicActions
इस तरह से गुप्त कुंजी के सत्यापन में उपयोग किया जाता है:
if (is_array($this->_publicActions) && in_array($this->getRequest()->getActionName(), $this->_publicActions)) {
return true;
}
इसका मतलब यह है, कि यदि आप में एक निश्चित कार्रवाई नाम सूचीबद्ध है, _publicActions
तो आप url में गुप्त कुंजी के बिना कार्रवाई का उपयोग कर सकते हैं।
यह विकास और डिबगिंग के लिए एक आशीर्वाद है, क्योंकि आप इसे केवल ROOT/admin/module/controller/action
गुप्त व्यवस्थापक कुंजी को जानने की आवश्यकता के बिना मैन्युअल रूप से कर सकते हैं , लेकिन मुझे समझ में नहीं आता कि मैं गुप्त कुंजी के बिना उत्पाद संपादन पृष्ठ तक क्यों पहुंच सकता हूं।
ऐसे ही किसी भी प्रोडक्ट एडिट पेज पर कॉल करें ROOT/admin/catalog/product/edit/id/{product_id_here}
।
publicActions
सदस्य उत्पादों में (संपादन के लिए) और रीडायरेक्ट के लिए रीडायरेक्ट नियंत्रक में, आदेश (कि सूचकांक और देखने की अनुमति देते हैं) के लिए ओवरराइट है।
अब मेरा प्रश्न:
गुप्त कुंजी के बिना केवल कुछ संपादन क्रियाएं क्यों अनुमत हैं, और मुझे गुप्त कुंजी के बिना अपने कस्टम CRUD मॉड्यूल में कब / क्या अनुमति देना चाहिए?