真的,我已经定义了一个访问控制列表的选项卡管理客户Magento的自定义ACL返回默认
<acl>
<resources>
<all>
<title>Allow Everything</title>
</all>
<admin>
<children>
<customer>
<children>
<manage>
<children>
<managepoint translate="title">
<title>Manage Point</title>
<sort_order>100</sort_order>
</managepoint>
</children>
</manage>
</children>
</customer>
</children>
</admin>
</resources>
</acl>
使用此代码
public function canShowTab(){
if(!Mage::getSingleton('admin/session')->isAllowed('customer/manage/managepoint'))
return false;
return true;
}
据expacted,默认情况下任何用户下的所有用户角色除了管理角色Mage :: getSingleton('admin/session') - > isAllowed('customer/manage/managepoint')应该返回FALSE,但实际上它返回TRUE,但是如果我检查然后取消选中此ACL作为一个特定角色,那么ACL按预期开始工作。
有人可以告诉我为什么Mage :: getSingleton('admin/session') - > isAllowed('customer/manage/managepoint')默认返回FALSE。
创建acl后,我负责清理var/cache,var /会话和日志记录的IN/OUT。 我的core_session表也是空的 –
而测试我发现Mage :: getSingleton('admin/session') - > isAllowed('customer/manage/garbage_value')返回FALSE,无论我定义的ACL如何返回TRUE –