Bonjour a tous et toutes.
J'ai un petit soucis dans la funcction connexion, elle me retourne tjs: "Identifiants incorrects", malgres le security::hash mis a jour (comme dans la video)
Voici mon code
function connexion(){
if($this->request->is('post')){
if($this->Auth->login()){
$this->Session->setFlash('Vous etes connecter', 'notif');
$this->redirect('/');
}else{
$this->Session->setFlash('Identifiants incorrects ', 'notif',
array('type' => 'error'));
}
}
debug(Security::hash($this->request->data'Joueur']'password'], null, true));
}
Ma question est aussi, dans ma base de donnee j'utilise login et password au lieu de username et password, cela joue-t-il?
Merci d avance de votre aide.
P.S. avec moi attendez vous a des questions souvent xD surtout des trucs debiles :s lol
Normalement, il faut aussi changer la table pour qu'il le sache :
public $components = array(
'Auth' => array(
'authenticate' => array(
'Form' => array(
'fields' => array('username' => 'login'),
'userModel' => 'Joueur'
)
)
)
);
Et sans faire ça, je suis étonné que ça fonctionne, le login()...
A+
Salut,
Pour le login à la place d'username, je te dirai oui si tu n'as pas fait en sorte que ça soit pris en compte.
Et non si tu as bien dans un beforeFilter, les choses qui vont bien :
Cakephp 1.3 :
$this->Auth->fields = array(
'username' => 'login'
);
Pour Cake2 c'est différent :
public $components = array(
'Auth' => array(
'authenticate' => array(
'Form' => array(
'fields' => array('username' => 'login')
)
)
)
);
A++
dans le BeforeFilter de appcontroller?
j ai deja ca dans appcontroller:
class AppController extends Controller {
public $components = array('Session' , 'Cookie', 'Auth');
function beforeFilter() {
$this->Auth->allow();
}
}
Si ma table dans la bdd se nomme joueur au lieu de user cela a une importance aussi?
car lorsque je fais :
$this->Auth->login($joueur'Joueur']);
Une fois que le lien est activer ca se connecte sans soucis
MErciiiiiii bcp ca fonctionne sans soucis, sinon oui le login() fonctionnait sans soucis :s
Par contre quand je veux te mettre le petit V vert j ai une erreur:
An Internal Error Has Occurred
Error: An Internal Error Has Occurred.