Salut a tous,
bon je suis passé en v 1.2.5 de cake et j'ai quelques soucis.
En effet j'ai un formulaire d'inscription avec un mot de passe et sa confirmation, le problème c'est que ledit champs est crypté automatiquement donc en cas d'erreur on reaffiche le formulaire mais il contient le mdp crypté donc ça ne va plus ...
Pour y remédier j'ai voulu crypter le mot de passe juste avant l'entrée en base :
Maintenant j'ai 2 problèmes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 function inscription() { $this->Client->unbindModel(array('hasMany' => array('Commande'))); //Si le formulaire a été posté if(!empty($this->data)) { //Créaton du client $this->Client->create($this->data); //Validation des données if(!$this->Client->validates()) { $this->validateErrors($this->Client); } else { $mdp = $this->data['Client']['mot_de_passe']; // Nettoyage de la saisie App::import('Sanitize'); $this->data['Client']['mot_de_passe'] = Security::hash($this->data['Client']['mot_de_passe']); $this->data['Client']['confirmer_mot_de_passe'] = Security::hash($this->data['Client']['confirmer_mot_de_passe']); debug($this->data); $this->data = Sanitize::clean($this->data); //Hashage du mot de passe avant entrée BDD if($this->Client->save($this->data)) { $this->Flash("Membre enregistré correctement.", '/clients'); //Envoyer un email de confirmation $this->_envoiMailNouvelUtilisateur($this->data['Client']['adresse_mail'],$mdp); } else $this->log("Client::inscription echec de la sauvegarde"); } } }
- Le mdp ne correspond jamais a sa confirmation car il est crypté quand meme ....
- Il ne devrait pas se crypter avant l'entrée en base ...donc il semble y avoir une double vérification..
Au passage je précise que j'ai le problème avec la version 1.2.5 (qui d'ailleurs en a d'autre comme la fonction unbindmodel() qui ne fonctionne plus ...)
merci de votre aide
Partager