2015-09-16 95 views
6

我已經爲管理員用戶在magento中創建了一個自定義模塊,我已經準備好了基本設置,我已經創建了一個用戶角色併爲該模塊提供資源訪問權限,但當我用該用戶憑據登錄時,我得到一個訪問被拒絕的錯誤,但是當我以管理員身份登錄時,我可以訪問該模塊。 我的config.xml文件訪問被拒絕管理用戶在自定義模塊magento

<?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權限,我不知道我做錯了這裏的任何東西。 管理員用戶登錄錯誤的屏幕截圖 enter image description here

爲admin登錄工作,屏幕在您的adminhtml.xml文件拍攝 enter image description here

+0

我想管理員必須從「角色資源」下的系統>權限>角色權限授予另一個用戶。 – aforankur

+0

我已經給出了權限,但不能正常工作 – Naveenbos

回答

15

最後我得到了答案,在config.xml文件中我給下面的代碼

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

      </resources> 
</acl> 

和在我給我的控制器文件下面的代碼

protected function _isAllowed(){ 
     return true; 
    } 

然後一切按預期工作

+1

謝謝你的老闆。該函數_isAllowed()使我的一天...感謝噸.. –

+2

大多數模塊都有允許的一切。 _isAllowed函數是缺少的函數。 Upvoted! – jehzlau

+0

@Naveenbos完美的答案。謝謝 ! –

2

問題按照上述

<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> 

更新代碼。

只是改變你的ACL樹節點定製retailertab

+0

我已經改變了這個,就像你說的Chirag一樣,但同樣的錯誤越來越多,訪問被拒絕。 – Naveenbos

+0

不知道爲什麼,但不知何故,這也不適用於我的情況。 –

相關問題