2015-09-16 29 views
6

Ho creato un modulo personalizzato in magento per gli utenti amministratori, sono pronto con una configurazione di base, ho creato un ruolo utente e concedo l'autorizzazione di accesso alla risorsa per questo modulo, ma quando effettuo il login con le credenziali di quell'utente ottengo un errore di accesso negato, ma quando accedo come amministratore posso accedere al modulo. mio file config.xmlAccesso negato per gli utenti admin nel modulo personalizzato 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> 

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

ho dato autorizzazioni ACL in config.xml, non sono sicuro che qualsiasi cosa che ho fatto di sbagliato qui. schermata di errore di accesso utente amministratore girato enter image description here

lavorare per il login admin, screen shot enter image description here

+0

Penso che l'amministratore deve concedere l'autorizzazione a un altro utente da "Risorsa ruolo" in Sistema> Autorizzazioni> Ruoli. – aforankur

+0

Ho dato quelle autorizzazioni ma non ho funzionato – Naveenbos

risposta

15

Finalmente ho avuto la risposta, nel file config.xml ho dato il codice qui sotto

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

      </resources> 
</acl> 

e nel mio file di controllo ho dato sotto il codice

protected function _isAllowed(){ 
     return true; 
    } 

quindi tutto funziona come previsto

+1

Grazie capo. Quella funzione _isAllowed() ha reso la mia giornata ... Grazie mille .. –

+2

La maggior parte dei moduli ha il permesso tutto sotto tutti. La funzione _isAllowed è quella che manca. Upvoted! – jehzlau

+0

@Naveenbos Risposta perfetta. Grazie ! –

2

Problema nel file 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> 

codice di aggiornamento di cui al precedente.

basta cambiare il vostro nodo della struttura ACL personalizzato a retailertab

+0

Ho cambiato come hai detto Chirag, ma lo stesso errore si sta verificando, accesso negato. – Naveenbos

+0

Non so perché, ma in qualche modo questo non funziona anche nel mio caso. –

Problemi correlati