Domanda

Vorrei generare un link a una pagina adminhtml dall'interno di uno script nella mia directory html.

Ho letto questa domanda su StackOverflow: Magento: generazione URL per un'azione backend (con chiave)

Questo funziona per me se generare tale chiave dall'interno di un controller di estensione. La chiave generata da dentro il mio html script di directory tuttavia non funziona correttamente e mi butta al cruscotto quando applicata.

Modifica:. Il reindirizzamento funziona al 100% se l'utente non è connesso - cioè che indirizza l'utente alla mia pagina modulo 100% con precisione

Tuttavia , se l'utente già registrato, li reindirizza al cruscotto a causa della sessione di conflitto.

Credo che devo in qualche modo le sessioni di "switch", ma io non sono riuscito a farlo ancora. Ho dato un'occhiata a questo post:

Verificare Admin è loggato Entro Observer

Purtroppo reindirizza ancora al cruscotto.

Tutte le idee?

È stato utile?

Soluzione

The problem is, that the key is generated and then stored into a session, this means if you generate a new one, this doesn't work.

You can see the check here:

\Mage_Adminhtml_Controller_Action::_validateSecretKey
{
    if (is_array($this->_publicActions) && in_array($this->getRequest()->getActionName(), $this->_publicActions)) {
        return true;
    }

    if (!($secretKey = $this->getRequest()->getParam(Mage_Adminhtml_Model_Url::SECRET_KEY_PARAM_NAME, null))
        || $secretKey != Mage::getSingleton('adminhtml/url')->getSecretKey()) {
        return false;
    }
    return true;
}

So the key is saved here: Mage::getSingleton('adminhtml/url')->getSecretKey() just use this one :-)

If this doesn't work too, it might be not the problem. Hook into this method and check!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top