回答:
この現象は、Magentoが管理ユーザーのセッションでACLをキャッシュするために発生します。以下が関連する行ですMage_Admin_Model_Session::login()
:
$this->setAcl(Mage::getResourceModel('admin/acl')->loadAcl());
次のコードを使用して、ACLキャッシュをリロード(「リフレッシュ」)できます。
$session = Mage::getSingleton('admin/session');
$session->setReloadAclFlag(true);
$session->refreshAcl();