acceso negado (login) en la administración de Joomla

Joomla Error: "You do not have access to the administrator section of this site". SOLVED

Intentado corregir los errores (que explico al final de esta entrada) en la edición de los artículos tras una migración de Joomla, he montado un site "espejo" en otro servidor del que ahora mismo está en producción.

Básicamente lo que he hecho ha sido una nueva instalación en el "espejo" y una importación de los contenidos desde la base de datos (artículos, categorías y menús) del sitio en producción. El resto de componentes, plugins y módulos los he instalado también manualmente con las últimas versiones. La meta es subir posteriormente, cuando el espejo tenga para el usuario el mismo aspecto visual que el sitio en producción, carpetas, archivos y base de datos al servidor en que funciona este último.

Al hacer la nueva instalación de Joomla! se creó un usuario "Super administrador" con un ID diferente al del sitio en producción, por lo que en la tabla _users modifiqué el ID con el correspondiente al de la página en funcionamiento (sino no saldrían los artículos en el site espejo). Como digo arriba, estuve modificando e instalando con normalidad algunos componentes, módulos y plugins, y cerré sesión.

Al intentar acceder de nuevo desde la página de acceso (login) a la administración me daba el error del titular:

Error: No tiene privilegios de acceso a esta sección de la administración

acceso negado (login) en la administración de Joomla

Después de muchas búsquedas en Google en las que señalan diversas soluciones de mirar las tablas _core_acl_aro, _core_acl_groups_aro_map y otras parecidas y más retorcidas (limpiar cache, cookies del navegador, archivos temporales), no encontré ninguna solución válida. Luego de "consultar con la almohada" y ya más despejado, eché un vistazo a las posibles diferencias de ambas bases de datos que afectasen a los usuarios. Dejo unas pantallas:

tablas de usuarios del site en producción

Tablas de usuarios del site en producción

tablas de usuarios del site espejo

Tablas de usuarios del site espejo (nueva instalación)

Si nos fijamos, las tablas _usergroups , _users , _user_notes y _user_profiles tienen el mismo número de filas, pero no así la tabla _user_usergroup_map , que en la base de datos espejo tiene una y en la de producción tiene 3 (cada un correspondiente a un usuario). Se me olvidó decir que también sustituí la tabla _users del nuevo site con la del antiguo, por eso tienen ambas el mismo número de líneas.

En este caso, hay dos soluciones al error "No tiene privilegios de acceso a esta sección de la administración":

1) Exportar la tabla _user_usergroup_map completa del sitio en producción e importarla a la base de datos del sitio espejo (no olvidar sustituir el prefijo por el que corresponda).

2) Si no se quieren mantener todos los usuarios lo que haremos será editar la tabla _user_usergroup_map y poner el ID de usuario que se corresponda con el que tenemos en la tabla _users . Vemos en tres pantallas la explicación:

tabla _user_usergroup_map del site en producción

tabla _user_usergroup_map del site espejo (nuevo)

tabla _user_usergroup_map del site espejo (nuevo) corregida

En la última hemos sustituido el ID nuevo (426) por el ID del sitio en producción (938).

Si de nuevo intentamos iniciar sesión sin cambiar en nada los datos de usuario (contraseña y nombre) veremos que ya podremos seguir trabajando con normalidad en nuestra administración de Joomla!


Recibe gratis nuevos artículos por email:
Inicia sesión para suscribirte en Youtube

Somos apañados (ñ)
Suscribete