自定义模块 magento 中的管理员用户访问被拒绝

Access denied for admin users in the custom module magento

我已经在 magento 中为管理员用户创建了一个自定义模块,我已经准备好基本设置,我已经创建了一个用户角色并为此模块授予了资源访问权限,但是当我使用该用户凭据登录时,我我收到拒绝访问错误,但是当我以管理员身份登录时,我可以访问该模块。 我的 config.xml 文件

<?xml version="1.0"?>
<config>
    <global>
    <modules>
        <Su_VirtualRetailer>
            <version>0.1.0</version>    
        </Su_VirtualRetailer>
    </modules>
    <blocks>
            <virtualretailer>
                <rewrite>
         <virtualretailer>Su_VirtualRetailer_Block_VirtualRetailer</virtualretailer>
        </rewrite>
            </virtualretailer>
     </blocks>
     <helpers>
            <su_virtualretailer>
                <!-- Helper definition needed by Magento -->
                <class>Mage_Core_Helper</class>
            </su_virtualretailer>            
        </helpers>
    </global>
    <frontend>
        <routers>
            <virtualretailer>
                <use>standard</use>
                <args>
                    <module>Su_VirtualRetailer</module>
                    <frontName>virtualretailer</frontName>
                </args>
            </virtualretailer>
        </routers>
        <layout>
            <updates>
                <virtualretailer>
                      <file>virtualretailer.xml</file>
                </virtualretailer>
            </updates>
        </layout>
    </frontend>
   <admin>
        <routers>
            <adminhtml>
                <args>
                    <modules>
                        <su_virtualretailer before="Mage_Adminhtml">Su_VirtualRetailer_Adminhtml</su_virtualretailer>
                    </modules>
                </args>
            </adminhtml>
        </routers>
    </admin>

</config>

我的adminhtml.xml

<?xml version="1.0" encoding="UTF-8"?>
<config>
    <menu>
        <retailertab module="su_virtualretailer" translate="title">
            <title>Virtual Retailer</title>
            <sort_order>100</sort_order>
            <children>
                <index module="su_virtualretailer" translate="title">
                    <title>Home</title>
                    <sort_order>1</sort_order>
                    <action>adminhtml/custom</action>
                </index>
                <myaccount module="su_virtualretailer" translate="title">
                    <title>My Account</title>
                    <sort_order>2</sort_order>
                    <action>adminhtml/custom/list</action>
                </myaccount>
                <shop module="su_virtualretailer" translate="title">
                    <title>Shop</title>
                    <sort_order>3</sort_order>
                    <action>adminhtml/custom/shop</action>
                </shop>
            </children>
        </retailertab>
    </menu>
    <acl>
        <resources>
            <admin>
                <children>
                    <retailertab translate="title" module="su_virtualretailer">
                        <title>Virtual Retailer</title>
                        <sort_order>-100</sort_order>
                        <children>
                            <index translate="title">
                                <title>Home Action</title>
                                <sort_order>1</sort_order>
                            </index>
                            <myaccount translate="title">
                                <title>My Account Action</title>
                                <sort_order>2</sort_order>
                            </myaccount>
                            <shop translate="title">
                                <title>Shop Action</title>
                                <sort_order>3</sort_order>
                            </shop>
                        </children>
                    </retailertab>
                </children>
            </admin>
        </resources>
    </acl>
</config>

我已经在 config.xml 中授予了 acl 权限,我不确定我在这里做错了什么。 管理员用户登录错误屏幕截图

正在为管理员登录工作,屏幕截图

您的 adminhtml.xml 文件中的问题

<config>
    <menu>
        <retailertab module="su_virtualretailer" translate="title">
            <title>Virtual Retailer</title>
            <sort_order>100</sort_order>
            <children>
                <index module="su_virtualretailer" translate="title">
                    <title>Home</title>
                    <sort_order>1</sort_order>
                    <action>adminhtml/custom</action>
                </index>
                <myaccount module="su_virtualretailer" translate="title">
                    <title>My Account</title>
                    <sort_order>2</sort_order>
                    <action>adminhtml/custom/list</action>
                </myaccount>
                <shop module="su_virtualretailer" translate="title">
                    <title>Shop</title>
                    <sort_order>3</sort_order>
                    <action>adminhtml/custom/shop</action>
                </shop>
            </children>
        </retailertab>
    </menu>
    <acl>
        <resources>
            <admin>
                <children>
                    <retailertab translate="title" module="su_virtualretailer">
                        <title>Virtual Retailer</title>
                        <sort_order>-100</sort_order>
                        <children>
                            <index translate="title">
                                <title>Home Action</title>
                                <sort_order>1</sort_order>
                            </index>
                            <myaccount translate="title">
                                <title>My Account Action</title>
                                <sort_order>2</sort_order>
                            </myaccount>
                            <shop translate="title">
                                <title>Shop Action</title>
                                <sort_order>3</sort_order>
                            </shop>
                        </children>
                    </retailertab>
                </children>
            </admin>
        </resources>
    </acl>
</config>

按照上述更新代码。

just change your acl tree node custom to retailertab

最后我得到了答案,在 config.xml 文件中我给出了下面的代码

<acl>
            <resources>
                <all>
                    <title>Allow Everything</title>
                </all>

            </resources>
</acl>

在我的控制器文件中,我给出了以下代码

protected function _isAllowed(){
        return true;
    }

然后一切都按预期工作