এখানে লিখিত হিসাবে :
যদি আপনি সীমাবদ্ধ প্রশাসক অ্যাকাউন্টগুলি ব্যবহার করেন, তৃতীয় পক্ষের এক্সটেনশনের কিছু মেনু তাদের জন্য আর কাজ না করে। কারণটি হ'ল ডিফল্ট ফিরতি মানটি Mage_Adminhtml_Controller_Action::_isAllowed()
থেকে পরিবর্তিত true
হয়েছে Mage::getSingleton('admin/session')->isAllowed('admin')
। যেসব এক্সটেনশানগুলি তাদের প্রশাসক কন্ট্রোলারে এই পদ্ধতিটি ওভাররাইড করে না কারণ তারা এসিএল ব্যবহার করে না, এখন তাদের "সমস্ত" সুবিধা দরকার।
একমাত্র সমাধান হ'ল এক্সটেনশানগুলিকে প্যাচ দেওয়া এবং এই পদ্ধতিটি তাদের সমস্ত প্রশাসক কন্ট্রোলারে যুক্ত করুন:
protected function _isAllowed()
{
return true;
}
বা যদি তাদের আসলে একটি এসিএল সংস্থান সংজ্ঞায়িত থাকে etc/adminhtml.xml
:
protected function _isAllowed()
{
return Mage::getSingleton('admin/session')->isAllowed('ENTER RESOURCE IDENTIFIER HERE');
}
কীভাবে রিসোর্স আইডেন্টিফায়ার নির্ধারণ করবেন
এটির adminhtml.xml
মতো দেখতে কেমন হতে পারে:
নীচের নোডের নামগুলি নিন acl/resources/admin/children
, নীচের children
নোডগুলি এড়িয়ে যান ।
অনুপস্থিত সংস্থান সনাক্তকারী কীভাবে তৈরি করবেন
যদি কেবল একটি <menu>
সংজ্ঞা থাকে তবে সংজ্ঞা না থাকে তবে <acl>
আপনি নিজের নিজস্ব সংজ্ঞাও দিতে পারেন (এটি একই মডিউলের মধ্যে থাকতে হবে না, তাই কোনও তৃতীয় পক্ষের ফাইলগুলি সংশোধন করতে হবে না) ::
নিচে সবকিছু কপি করুন menu
থেকে acl/resources/admin/children
এবং অপসারণ <action>
নোড।
স্বয়ংক্রিয় ফিক্স
Https://gist.github.com/raybogman/eec47237b8ef0d4dd0fd এ সমর্থনডেস্ক.নু দ্বারা একটি ভাল কমান্ড লাইন সরঞ্জাম রয়েছে
এটি বেশিরভাগ অনুপস্থিত _isAllowed()
কলগুলি বেশ ভাল পরিচালনা করে তবে অবচিত বা এনক্রিপ্ট করা উত্স ফাইলগুলির সাথে ভাঙা কোডের ফলস্বরূপ ফলস্বরূপ আপনার এখনও ফলাফলটি নিজেই পরীক্ষা করা উচিত।