pbenoist Posted August 23, 2018 Share Posted August 23, 2018 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 More sharing options...
Eolia Posted August 23, 2018 Share Posted August 23, 2018 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 More sharing options...
pbenoist Posted August 23, 2018 Author Share Posted August 23, 2018 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 More sharing options...
Eolia Posted August 23, 2018 Share Posted August 23, 2018 on prend le code de l'ancien système^^ Link to comment Share on other sites More sharing options...
pbenoist Posted August 23, 2018 Author Share Posted August 23, 2018 Une réponse comme celle-ci est elle bien utile ? Évitez de perdre votre temps pour donner une réponse du type "Il suffit de le faire" .. Donnez vous parfois la réponse : "T'as ka chercher" à une question ? Link to comment Share on other sites More sharing options...
Eolia Posted August 23, 2018 Share Posted August 23, 2018 (edited) 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 August 23, 2018 by Eolia (see edit history) 2 Link to comment Share on other sites More sharing options...
doekia Posted August 23, 2018 Share Posted August 23, 2018 +1000 @Eolia D'autant que ça sent juste le merdage de COOKIE_KEY / COOKIE_IV Link to comment Share on other sites More sharing options...
pbenoist Posted August 23, 2018 Author Share Posted August 23, 2018 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... 1 Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now