Magento admin:Acceso denegado para «Gestor de cache»

En versiones de Magento 1.4.x si damos acceso a la gestión de la cache para un determinado rol que no sea admin, probablemente obtengamos un error de permisos «Access denied«. Lo descubrí cuando un cliente necesitaba borrar la cache de Magento de vez en cuando y no podía acceder aunque el permiso estuviera asignado en su rol.

¿Cómo solucionarlo?

Esto es debido a un bug alojado en el archivo app/code/core/Mage/Adminhtml/controllers/CacheController.php en la función _isAllowed().

1.-Copiamos el archivo en la ruta app/code/local/Mage/Adminhtml/controllers/ para evitar futuros problemas.

2.- Localizar la función _isAllowed()

3.-Reemplazar el código

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

por

protected function _isAllowed()
 {
return Mage::getSingleton('admin/session')->isAllowed('system/cache');
}

Espero que sea de ayuda.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *