Bonjour,
Je viens de remarquer que lorsque je veux modifié les mots de passe à partir de l'admin, le nouveau mdp n'est pas sécurisé.
voici mon code de ma fonction du UsersController.php
function admin_edit($id = null){
if($this->request->is('put')){
$d = $this->request->data'User'];
if($d'password'] != $d'passwordconfirm']){
$this->Session->setFlash("Les mots de passe ne correspondent pas", "notif", array('type'=>'error'));
}else{
if(empty($d'password']))
unset($d'password']);
if($this->User->save($d)){
($this->request->is('put')) ? $this->Session->setFlash("Les informations de l'utilisateur ont bien été modifiées", 'notif'):$this->Session->setFlash("Un nouvel utilisateur a bien été ajouté", 'notif');
$this->redirect(array('action'=>'index'));
}
}
}elseif($this->request->is('post')){
$d = $this->request->data'User'];
if($d'password'] != $d'passwordconfirm']){
$this->Session->setFlash("Les mots de passe ne correspondent pas", "notif", array('type'=>'error'));
}else{
if($this->User->save($d)){
($this->request->is('put')) ? $this->Session->setFlash("Les informations de l'utilisateur ont bien été modifiées", 'notif'):$this->Session->setFlash("Un nouvel utilisateur a bien été ajouté", 'notif');
$this->redirect(array('action'=>'index'));
}
}
}elseif($id){
$this->User->id = $id;
$this->request->data = $this->User->read('username,mail,role,active,id');
}
$d = array();
$d'roles'] = array(
'admin' => 'admin',
);
$this->set($d);
}
Comment sécuriser la modification du mot de passe comme dans ma fonction profil ?
C'est à dire ainsi
if(!empty($d'User']'pass1'])){
if($d'User']'pass1']==$d'User']'pass2']){
$d'User']'password'] = Security::hash($d'User']'pass1'],null,true);
}else{
$passError = true;
}
}
Merci de vos réponses.