Essaye de tester differentes choses.. quand tu fais rien sur le password à l'inscription, il est hashé en base ou pas?
j'essay de faire un système de connexion mais cake me renvoi tjr 'Username ou password est incorrect' meme si le username et password existent deja .Merci
public function login() {
$this->layout ='login';
if ($this->request->is('post')) {
if ($this->Auth->login()) {
$this->redirect($this->Auth->redirectUrl());
$this->Session->setFlash('vous etes mnt connecté');
} else {
$this->Session->setFlash('Username ou password est incorrect');
}
}
}
9 réponses
Bonjour est ce que par hasard tu as bien hashé avec heu .. $this->Auth->password (plus sur du tout cherche dans la doc) au moment de l enregistrement en base des utilisateurs?
oui le password est bien haché avec Security::hash($d'User']'password'])
Affiche la requête sql pour voir ce qu'il part:
Enlève aussi le hash du mot de passe à l'inscription, peut être que CakePhp le fait par default, dans ce cas tu te retrouverais à hasher un hash ...
non je l ai vérifié il ne gère pas le hash par defaut ; et pour le debug($this->Session->read())
\app\View\Elements\debug.ctp (line 2)
array(
'Config' => array(
'userAgent' => '21fe014fec2ac2c656be936d414dc1c8',
'time' => (int) 1373492183,
'countdown' => (int) 10
),
'Message' => array(
'auth' => array(
'message' => 'Username ou password est incorrect',
'element' => 'default',
'params' => array()
),
'flash' => array(
'message' => 'Username ou password est incorrect',
'element' => 'default',
'params' => array()
)
)
)
jete un oeil par ici => Hashage mot de passe
Bonjour,
Dans ton second post tu indique que tu utilise Security::hash($d'User']'password'])
Or Auth->login lui utilise Auth->password.
Et les deux système de hashage sont différent. Il retourne deux résultat différent pour un même mot a hasher.
Réessaye en utilisant plutôt
$this->Auth->password($d'User']'password'])
lors de l'enregistrement.
Cool j'avais bonne mémoire sur le nom de la méthode^^
ca marche super bien , Merci boucoups vos deux
antho07 et Gyuki