问题:应用 Magento SUPEE 6285 后访问被拒绝

我最近应用了 Magento 补丁 SUPEE-6285,现在我遇到了一些非管理员用户的权限问题。无法再访问的受限用户可以访问管理员的某些部分。如果我查看角色的角色资源,我会看到该部分已启用,并且当登录到该角色时,我会看到菜单选项,但如果我选择它,我会得到拒绝访问。到目前为止,我所知道的给我带来麻烦的 3 个扩展是

  1. 商务主题 - 猜注册客户
  • 他们在“客户”菜单下添加“管理访客注册”
  1. Adjustware - 废弃购物车警报
  • 他们在时事通讯下添加菜单项
  1. Adjustware - 查看提醒
  • 他们在时事通讯下添加菜单项

我确信还有其他扩展存在类似问题,这可能是由于他们如何实现管理页面,但我还没有弄清楚。有人有解决办法吗?

更新 我尝试更改路由器的定义方式,但没有帮助。

曾是:

<admin>
    <routers>
        <GuestToReg>
            <use>admin</use>
            <args>
                <module>CommerceThemes_GuestToReg</module>
                <frontName>GuestToReg</frontName>
            </args>
        </GuestToReg>
    </routers>
</admin>

变成:

<admin>
    <routers>
        <adminhtml>
            <args>
                <modules>
                    <GuestToReg after="Mage_Adminhtml">CommerceThemes_GuestToReg_Adminhtml</GuestToReg>
                </modules>
            </args>
        </adminhtml>
    </routers>
</admin>

解答

多亏了 Ron V,我才能够找到完整的答案,该答案仅对那些获得许可的人启用菜单。

给定以下 adminhtml.xml 文件:

<config>
    <acl>
        <resources>
            <admin>
                <children>
                    <path_to>
                        <children>
                            <acl_resource>
                                <title>My ACL Resource</title>
                            </acl_resource>
                        </children>
                    </path_to>
                </children>
            </admin>
        </resources>
    </acl>
</config>

您可以提取资源路径以传递给isAllowed()以确定是否应向该用户显示此菜单。

protected function _isAllowed(){
    return Mage::getSingleton('admin/session')->isAllowed('path_to/acl_resource');
}
Logo

更多推荐