Error de Acceso Denegado en Prestashop 1.7. Solución.

Si has actualizado tu Prestashop desde la versión 1.6 a la 1.7, uno de los errores más comunes (mucho) es que, al entrar en alguno (muchos o pocos) de los menús del backend te de un error de “Acceso Denegado”. Hemos hecho varias actualizaciones entre dichas versiones y este error ha ocurrido casi siempre. No está bien conseguida la migración de permisos.

Las primeras veces que nos ocurrió nos volvimos locos. Pero hoy os dejamos las soluciones. Una vez lo comprendes, es sencillo.
Estamos suponiendo que estás intentando acceder con SuperAdministrador, y no con un usuario con menos privilegios (que puede que no tenga permisos porque se los haya quitado el admin).

Nota: vas a necesitar acceso gestionar la base de datos o por el panel, o instalando un PhpMyAdmin o similar.

Cómo solucionar el problema de Acceso Denegado en un Prestashop 1.7

Lo primero es entender que las tablas en Prestashop que gestionan los permisos son (los prefijos pueden cambiar en tu instalación, pongo los de por defecto):

  • pss_access. Este es una tabla con dos campos numéricos. El id_profile y el id_authorization_role. El primero es el id del rol de usuario. El segundo el id del permiso que se está considerando.



    Puedes comprobar el id_profile de tu usuario en la tabla pss_employee pero el del SuperAdmin (el que normalmente tienes para la gestión de la tienda) es 1.
  • pss_authorization_role: Esta tiene también dos campos, id_authorization_role y slug. El id_authorization_role es el id del permiso, como en la tabla anterior, y es numérico. El slug es el nombre de dicho permiso (así nos enteramos).