juanunlin Posted July 16, 2013 Share Posted July 16, 2013 he pasado clientes de un prestashop a otro de la misma versin con sus direcciones y con sus grupos a traves de mysql y ahora cuando intento entrar con la cuenta de esos clientes a la parte de mi cuenta en el frontpage me dice error de autentificacion Link to comment Share on other sites More sharing options...
nadie Posted July 16, 2013 Share Posted July 16, 2013 he pasado clientes de un prestashop a otro de la misma versin con sus direcciones y con sus grupos a traves de mysql y ahora cuando intento entrar con la cuenta de esos clientes a la parte de mi cuenta en el frontpage me dice error de autentificacion ¿Pero lo has realizado con el tema de la cookie key? 1 Link to comment Share on other sites More sharing options...
juanunlin Posted July 16, 2013 Author Share Posted July 16, 2013 no se que es la cooke key lo que he echo es insert ito ......... Link to comment Share on other sites More sharing options...
jesa Posted July 16, 2013 Share Posted July 16, 2013 Pues ahí está tu problema, que la contraseña no está bien encriptada. Como dice nadie, en el fichero settings.inc.php tienes la constante COOKIE_KEY que se usa para encriptar/desencriptar las contraseñas. Al ser diferente en cada instalación, no te sirve de una tienda a otra. Una solución es copiar el valor que tiene en tu anterior tienda y así los clientes tendrán acceso, pero por otro lado perderás la contraseña para entrar a la administración de la tienda. Como supongo que será mas sencillo cambiar tus contraseñas de la administración que las de los clientes, copia la cookie_key de tu tienda de origen y la pegas en tu tienda nueva. Después vete a http://www.md5.fr/ copias la cookie_key seguido de una contraseña que quieras, le das a generar md5 y el resultado lo pegas como contraseña en tu usuario de administración. Esto lo tendrás que hacer directamente sobre la bbdd. Link to comment Share on other sites More sharing options...
nadie Posted July 16, 2013 Share Posted July 16, 2013 Pues ahí está tu problema, que la contraseña no está bien encriptada. Como dice nadie, en el fichero settings.inc.php tienes la constante COOKIE_KEY que se usa para encriptar/desencriptar las contraseñas. Al ser diferente en cada instalación, no te sirve de una tienda a otra. http://www.prestasho...ost__p__1062466 Edit file ../config/settings.inc.php , and add : define('_COOKIE_KEY_OLD_', 'YOUR_PS_V.1.4.9_COOKIE_KEY_'); Edit file ../override/classes/Customer.php, and add : public function getByEmail_old($email, $passwd = null, $ignore_guest = true) { if (!Validate::isEmail($email) || ($passwd && !Validate::isPasswd($passwd))) die (Tools::displayError()); $sql = 'SELECT * FROM `'._DB_PREFIX_.'customer` WHERE `email` = \''.pSQL($email).'\' '.Shop::addSqlRestriction(Shop::SHARE_CUSTOMER).' '.(isset($passwd) ? 'AND `passwd` = \''.Tools::encrypt_old($passwd).'\'' : '').' AND `deleted` = 0'. ($ignore_guest ? ' AND `is_guest` = 0' : ''); $result = Db::getInstance()->getRow($sql); if (!$result) return false; $this->id = $result['id_customer']; foreach ($result as $key => $value) if (key_exists($key, $this)) $this->{$key} = $value; return $this; } Edit file ../override/classes/Tools.php, and add : public static function encrypt_old($passwd) { return md5(_COOKIE_KEY_OLD_.$passwd); } Edit file ../override/controllers/front/AuthController.php, and add : protected function processSubmitLogin() { Hook::exec('actionBeforeAuthentication'); $passwd = trim(Tools::getValue('passwd')); $email = trim(Tools::getValue('email')); if (empty($email)) $this->errors[] = Tools::displayError('E-mail address required'); elseif (!Validate::isEmail($email)) $this->errors[] = Tools::displayError('Invalid e-mail address'); elseif (empty($passwd)) $this->errors[] = Tools::displayError('Password is required'); elseif (!Validate::isPasswd($passwd)) $this->errors[] = Tools::displayError('Invalid password'); else { $customer = new Customer(); $authentication = $customer->getByEmail(trim($email), trim($passwd)); $authentication_old = $customer->getByEmail_old(trim($email), trim($passwd)); if ((!$authentication AND !$authentication_old) || !$customer->id) $this->errors[] = Tools::displayError('Authentication failed'); else { $this->context->cookie->id_compare = isset($this->context->cookie->id_compare) ? $this->context->cookie->id_compare: CompareProduct::getIdCompareByIdCustomer($customer->id); $this->context->cookie->id_customer = (int)($customer->id); $this->context->cookie->customer_lastname = $customer->lastname; $this->context->cookie->customer_firstname = $customer->firstname; $this->context->cookie->logged = 1; $customer->logged = 1; $this->context->cookie->is_guest = $customer->isGuest(); $this->context->cookie->passwd = $customer->passwd; $this->context->cookie->email = $customer->email; // Add customer to the context $this->context->customer = $customer; if (Configuration::get('PS_CART_FOLLOWING') && (empty($this->context->cookie->id_cart) || Cart::getNbProducts($this->context->cookie->id_cart) == 0)) $this->context->cookie->id_cart = (int)Cart::lastNoneOrderedCart($this->context->customer->id); // Update cart address $this->context->cart->id = $this->context->cookie->id_cart; $this->context->cart->setDeliveryOption(null); $this->context->cart->id_address_delivery = Address::getFirstCustomerAddressId((int)($customer->id)); $this->context->cart->id_address_invoice = Address::getFirstCustomerAddressId((int)($customer->id)); $this->context->cart->secure_key = $customer->secure_key; $this->context->cart->update(); $this->context->cart->autosetProductAddress(); Hook::exec('actionAuthentication'); // Login information have changed, so we check if the cart rules still apply CartRule::autoRemoveFromCart($this->context); CartRule::autoAddToCart($this->context); if (!$this->ajax) { if ($back = Tools::getValue('back')) Tools::redirect(html_entity_decode($back)); Tools::redirect('index.php?controller=my-account'); } } } if ($this->ajax) { $return = array( 'hasError' => !empty($this->errors), 'errors' => $this->errors, 'token' => Tools::getToken(false) ); die(Tools::jsonEncode($return)); } else $this->context->smarty->assign('authentification_error', $this->errors); } Finally create csv file to update XX_customer_group table database for all id_customer set group to 3 (customer), and import to your Prestashop database Done 1 Link to comment Share on other sites More sharing options...
jesa Posted July 16, 2013 Share Posted July 16, 2013 Me parece más sencillo cambiar la contraseña de los empleados, generalmente no suele haber muchos y en 2 minutos lo tienes hecho. De echo, la contraseña de los empleados posiblemente la conozcas y no hace falta cambiarla, simplemente generar su nuevo md5. Link to comment Share on other sites More sharing options...
juanunlin Posted July 16, 2013 Author Share Posted July 16, 2013 he hecho lo que habeis dicho y me ha cambiado el aspecto al completo de la pagina, ya no funciona nada a q se puede deber? Link to comment Share on other sites More sharing options...
juanunlin Posted July 16, 2013 Author Share Posted July 16, 2013 ahora todo se ha ido a la mierda un mes de trabajo entero, por haber cambiado eso ? como lo restauro?? Link to comment Share on other sites More sharing options...
jesa Posted July 16, 2013 Share Posted July 16, 2013 No se cual de los dos caminos has tomado, supongo que será lo que te ha dicho Nadie porque son modificaciones de código. En todo caso, si haces un cambio y deja de funcionar, la solución está en deshacer los cambios. Primera norma para hacer cambios de código es siempre hacer una copia de seguridad de los ficheros que se van a cambiar y más cuando no sabes lo que estás haciendo. Link to comment Share on other sites More sharing options...
juanunlin Posted July 16, 2013 Author Share Posted July 16, 2013 noo lo que hecho a sido cambiar la cookie key, he retrocedido pero la pagina se me ve al completo cambiada Link to comment Share on other sites More sharing options...
jesa Posted July 16, 2013 Share Posted July 16, 2013 Bueno, habría que ver lo que significa la página totalmente cambiada, pero si cambias la cookie_key el único problema que deberías de tener sería el de acceder a tus cuentas tanto de clientes como de administración. Siempre que he realizado este cambio no me ha afectado para nada a la vista de la tienda. A ver si alguien te puede decir si le ha pasado lo mismo. Estaría bien también ver la web para ver que problemas hay. Link to comment Share on other sites More sharing options...
juanunlin Posted July 16, 2013 Author Share Posted July 16, 2013 he eliminado las cookies del explorador y ya vuelve a ir bien, pero al cambiar la cookie key me cambia todo el aspecto de la pagina, como podria solucionar eso ?¿? Link to comment Share on other sites More sharing options...
jesa Posted July 16, 2013 Share Posted July 16, 2013 Como decía a mi nunca me ha pasado esto, pero puede que se solucione limpiando las cookies cuando cambies la cookie_key. Vuelve a poner la que necesitas y limpia las cookies, debería de funcionarte perfectamente. Link to comment Share on other sites More sharing options...
nadie Posted July 16, 2013 Share Posted July 16, 2013 Me parece más sencillo cambiar la contraseña de los empleados, generalmente no suele haber muchos y en 2 minutos lo tienes hecho. De echo, la contraseña de los empleados posiblemente la conozcas y no hace falta cambiarla, simplemente generar su nuevo md5. Habia entendido que hablabamos de los clientes no de los empleados. (aunque hablemos de la misma cookie key) De todos modos, la modificación que te he pasado, es muy sencilla, no creo que conlleve tanta dificultad si te dan ya el codigo preparado. he eliminado las cookies del explorador y ya vuelve a ir bien, pero al cambiar la cookie key me cambia todo el aspecto de la pagina, como podria solucionar eso ?¿? ¿El aspecto en que sentido? 1 Link to comment Share on other sites More sharing options...
Rubén Posted July 16, 2013 Share Posted July 16, 2013 Si no podemos ver tu página poco podemos hacer compañero Link to comment Share on other sites More sharing options...
juanunlin Posted July 17, 2013 Author Share Posted July 17, 2013 ayer cambie las cookies al completo es decir lo hize justo al reves y apague el pc, ahora tanto la nueva como la antigua tiene la misma cookie asi q no se q puedo hacer gracias de antemano. Link to comment Share on other sites More sharing options...
jesa Posted July 17, 2013 Share Posted July 17, 2013 borrar las cookies? poner tu tienda para que la podamos ver? Link to comment Share on other sites More sharing options...
juanunlin Posted July 17, 2013 Author Share Posted July 17, 2013 si a ver lo que hecho es cambiar los clientes de una tienda a otra, y le puesto a ambas la cookey-key de la nueva es decir, no me deja entrar en los clientes q ya tenia registrados y no solo eso sino q me cambia todo el aspecto del apartado mi cuenta. Nadie el codigo ese q pusiste no loo tienes para 1.5.4 jesa si quieres te lo djo por privado para ver la reaccion. Link to comment Share on other sites More sharing options...
Sergio Ruiz Posted July 17, 2013 Share Posted July 17, 2013 (edited) Nadie el codigo ese q pusiste no loo tienes para 1.5.4 El código que enlaza Nadie, funciona en la 1.5.4. Edited July 17, 2013 by Sergio Ruiz (see edit history) Link to comment Share on other sites More sharing options...
juanunlin Posted July 17, 2013 Author Share Posted July 17, 2013 /override/classes/Customer.php nose donde viene Link to comment Share on other sites More sharing options...
jesa Posted July 17, 2013 Share Posted July 17, 2013 le puesto a ambas la cookey-key de la nueva es decir, no me deja entrar en los clientes q ya tenia registrados A ver...si tienes una tienda A con clientes registrados y los quieres pasar a una tienda B, tienes que copiar la cookie_key de la tienda A en la tienda B no al contrario porque si haces eso ahora no entrarás en ninguna de las dos... Si quieres pasar por privado la tienda no hay problema, aunque antes de probar nada hay que tener claro que cambios hay realizados respecto a la cookie_key Link to comment Share on other sites More sharing options...
juanunlin Posted July 17, 2013 Author Share Posted July 17, 2013 pues lo q he hecho a sido dejar la cookey-key b en ambas y ahora no puedo recuperar la cookie-key A porque apague el pc y no le di a deshacer, q puedo hacer ?? Link to comment Share on other sites More sharing options...
Paula Martinez Posted July 17, 2013 Share Posted July 17, 2013 (edited) http://www.prestasho...ost__p__1062466 Gracias Nadie ! Con eso he conseguido mantener las contraseñas funcionando de los clientes de mi tienda actual, y conservar las contraseñas de los otros clientes que he importado de una tienda antigua que tenia, al tener las dos cookies_key metidas, la antigua y la nueva y al crear los overrides que se mencionan en el enlace que mencionas. Edited July 17, 2013 by Raul Martinez (see edit history) Link to comment Share on other sites More sharing options...
juanunlin Posted July 17, 2013 Author Share Posted July 17, 2013 nadie yo no encuentro la situacion de los archivos, nose donde esta tools y customer, los he buscado por otro lado pero me dan error Link to comment Share on other sites More sharing options...
Paula Martinez Posted July 17, 2013 Share Posted July 17, 2013 nadie yo no encuentro la situacion de los archivos, nose donde esta tools y customer, los he buscado por otro lado pero me dan error Hola, Me llamo Raul Martinez, Te comento como he probado yo el aporte que te ha comentado "Nadie" Tienes que crear los fichero tu y meterlos en las rutas mencionadas, porque son overrides, (no están creados, tienes que crearlos y meter el contenido) Esto a mi me ha servido para el caso de que yo ya tenia clientes en mi tienda, y habia importado clientes de otra tienda por sql, y queria conservar la contraseñas de ambos clientes, y lo del enlace me ha servido para eso. Supongo que tu también buscas eso ¿no? Link to comment Share on other sites More sharing options...
juanunlin Posted July 17, 2013 Author Share Posted July 17, 2013 pues yo e echo eso y sigue sin leerme los clientes q tenia ya registrados, m pone error de autentificacion. Nadie sabe como se puede recuperar una cookey-key de la pagona de los clientes antiguos? Link to comment Share on other sites More sharing options...
juanunlin Posted July 17, 2013 Author Share Posted July 17, 2013 no hay forma de buscar esa cookey-key en la base de datos que de eso vsi tengo copia de seguridad?? Link to comment Share on other sites More sharing options...
juanunlin Posted July 17, 2013 Author Share Posted July 17, 2013 ya e conseguido recuperar la cookie y ahora me deja entrar con los clientes q tenia, pero se carga todo el diseñpo de la pagina y cuando elimino el cookie q ha generado entoces se sale de la cuenta, a q se puede deber, cual es el paso q deberia seguir ahora?? Link to comment Share on other sites More sharing options...
Recommended Posts