Jump to content

Récupération des clients 1.5 vers 1.7 (pb de mot de passe)


pbenoist

Recommended Posts

Bonjour,

Je migre une installation prestashop 1.5 vers une 1.7.4

La migration est faite "manuellement", c'est à dire que nous avons installé une 1.7 vierge et que nous récupérons les données par des import/export mySql (impossible d'utiliser les outils de migration Prestashop, car trop de spécifique...)

Lors de l'importation de la table ps_customer, aucun problème MAIS les clients ne peuvent se connecter au nouveau site. Les mots de passe ne sont pas corrects ? 

La question est donc : Comment faire pour que les mots de passe utilisés par les clients 1.5 soient toujours valables en 1.7 ?

 

 

Link to comment
Share on other sites

Ca sent la bricole pro tout ça^^

Il faut ajouter une colonne dans la table customer avec les anciens mots de passe et faire un override de authController pour vérifier si le pass envoyé matche avec l'ancien système ou le nouveau. Si ancien, on le hash dans le nouveau et on supprime l'ancien

Link to comment
Share on other sites

Merci pour la piste mais je reste un peu perdu... 

j'ai compris que le même mot de passe en 1.5 et 1.7 est encodé différemment. (les valeurs d'un même mot de passe sont différentes de le champ passw de la table ps_customer suivant le version 1.5 ou 1.7)

Donc, il faudrait faire un hash de l'ancien ? mais on fait comment ? 

 

Link to comment
Share on other sites

Non mais c'est une blague ???

Vous vous présentez comme "agency" et vous ne connaissez pas le code Prestashop ?

Le cryptage des mots de passe pour la 1.6 est dans son code, si vous ne savez pas le trouver il faut voir à vous documenter un minimum.

Si vous attendez qu'on vous donne le code écrit en entier il ne faut pas rêver non plus, c'est vous qui êtes payés pour effectuer cette migration, pas nous^^

Et si cette solution ne vous convient pas ou que vous ne savez pas la mettre en place c'est votre problème, pas le mien 

Citation

Il faut ajouter une colonne dans la table customer avec les anciens mots de passe et faire un override de authController pour vérifier si le pass envoyé matche avec l'ancien système ou le nouveau. Si ancien, on le hash dans le nouveau et on supprime l'ancien

 

Edited by Eolia (see edit history)
  • Like 2
Link to comment
Share on other sites

Je ne suis pas superstar ni une légende mais j'ai trouvé une solution simple qui pourra peut être dépanner les béotiens comme moi  : 

Lorsque l'on récupère la table ps_customer d'une base Prestashop 1.5 , les mots de passe sont encodés avec le COOKIE_KEY présente sur cette installation (dans le fichier settings_inc.php) 

J'ai donc remplacé le cookie key (désormais dans app/config/paramters.php) dans mon nouveau prestashop 1.7 avec la valeur de l'ancien cookie key

Evidemment, tout s'est planté ! Il faut vider les caches qui se trouve désormais dans var/cache ... et là... ça marche... les anciens utilisateurs peuvent utiliser leur mot de passe...

 

  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...