Jump to content

Authentification par id client et non par email


Recommended Posts

Bonjour à tous,

 

J'ai une problématique que je n'arrive pas à résoudre.

 

Je souhaiterais authentifier mes clients avec leur id et non avec leur adresse mail. En fait, je souhaiterais remplacer le champ email par le champ id_customer dans la table customer.

 

authentificationemail.jpg

Par

authentificationid.jpg

 

Est-ce qu'une personne est capable de m'aider sur ce point ?

 

Merci

Link to comment
Share on other sites

il faut que tu regardes dans le fichier controllers/AuthController.php, et notamment la fonction :

 

if (Tools::isSubmit('SubmitLogin'))
{
// blabla
}

 

dedans il y a la réception des données du formulaire (il faudra aussi que tu modifies le formulaire authentication.tpl) du type:

$email = trim(Tools::getValue('email'));

 

Il est créé un objet customer et appelé une méthode pour aller rechercher en base les éléments en fonction de l'email :

 

$customer = new Customer();
$authentication = $customer->getByEmail(trim($email), trim($passwd));

 

Donc regarde s'il y a une méthode getById (à mon avis elle existe), et applique là à ton ID reçu.

 

PS: Type le aussi avant :

$id = (int) (Tools::getValue('customerid'));

Edited by IchabOd (see edit history)
Link to comment
Share on other sites

  • 2 months later...

Merci IchabOd, la solution que ta proposé marche bien et la méthode getById n'existe pas mais tout de même dans la classe Custumer.php faut adapter la fonction getByEmail en changeant dans la requête 'email' par 'id_customer'

 

N.B il faut pas oublier de supprimer les tests sur la validation de la syntaxe email.

Link to comment
Share on other sites

  • 5 years later...

Bonjour

je vous ecrit sur ce  meme topic car je cherche  une solution à une problèmatique bloquante. En fait, j'ai developpé un fornt office prestashop 1.6.1.17, sur lequel je compte permettre a mes clients d'ajouter une chaine de caractere "cutomer id" et un mail, afin q'un client, par la suite, peut se connecter par mail ou par customer id

j'ai vu que vous avez essayé de trouvez une solution pour ce meme topic, et je suis tres reconnaissant à partager votre solution. 

 

Merci pour votre retour

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...