Bonjour,
Voilà ça fait plusieurs jours ou je bloque sur ce problème, le composant Auth->login ne fonctionne pas dans mon application, je m'explique, cela me retourne constamment "Identifiants incorrects.", je pense avoir trouvé ou ce situe le problème, voyez-vous normalement quand le formulaire est soumis cela exécute une requête SQL de sélection sur les users, mais ici aucune requête ne s'effectue ! Pourquoi ?
Cordialement.
Si tu nous montrer le bout de code ou ça coince, on pourrai te venir en aide plus facilement :)
public function login() {
if($this->request->is('post')) {
if($this->Auth->login()) {
$this->Session->setFlash('LOGGED');
$this->redirect('/');
}
}
}
Le code est celui de la doc officiel.
As tu vérifié le cryptage du mot de passe, correspond-il à celui qui est enregistrer dans ta base de donnée ?
Oui, grâce à la method de mon model User, je n'ai de toute façon pas de problème avec le cryptage du mot de passe, j'ai même effectuer des tests la dessus.
public function beforeSave($options = array()) {
if (isset($this->data$this->alias]'password'])) {
$this->data$this->alias]'password'] = AuthComponent::password($this->data$this->alias]'password']);
}
return true;
}
Hello,
J'ai semble t'il le même problème, Je viens de parcourir beaucoup de solution proposées sur des forums etc, mais rien de concluant, as tu trouvé une solution ?
Merci par avance,
Tu as suivis le tutoriel de la doc en français ? Si oui attention il y a des coquilles !
Par exemple dés le départ avec la base de données
CREATE TABLE users (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
nom_user VARCHAR(50),// <= Ne respecte pas les conventions ! ici c'est username
mot_de_passe VARCHAR(50), // <= et ici password
role VARCHAR(20),
created DATETIME DEFAULT NULL,
modified DATETIME DEFAULT NULL
);
Sinon est ce que tu déclare bien le composant auth dans ton AppController ?
Ok 2 choses, peux-tu nous montrer le code de ton AppController ou tu initialise le composant? Aussi, essayes de telecharger une nouvelle installe de Cake et essayes rapidement de faire la meme chose (pas de copier coller STP) et dis nous si sa plante toujours.
a+
<?php
class AppController extends Controller {
public $components = array('Session', 'Cookie', 'Auth');
}
@kal-el : Oui j'ai déjà essayais de faire une nouvelle installation et de refaire le tutoriel mais cela n'a pas fonctionné.
@Kafin HighManner : J'ai suivi le tutoriel anglais et je connais déjà les conventions de cake au niveau des noms des colonnes de la base de donnée, username et password sont de la partie dans ma db.
@Katsumoto : Peux-tu m'envoyer ton application ainsi que ta base de donnée pour que je test sa en direct chez moi (beaucoup plus facile de trouver des erreurs). Voici mon adresse : contact@kartono-loic.com (pas de spam les gars s'il vous plait :) )
Bonjour! J'ai le même problème.. Quelqu'un a trouvé une réponse? L'élément sql_dump n'affiche d'ailleurs aucune requête sql
EDIT:
Problème résolu.. Le probleme venait du formulaire.
J'ai changé
<?php echo $this->form->input('password', array('label' => 'Password', 'class' => 'form-input', 'required')); ?>
Pour ceci:
<?php echo $this->Form->input('password', array('label' => 'Password', 'class' => 'form-input', 'required')); ?>
Notez le F majuscule de Form. C'était ça l'erreur. Merde.
Bonjour chers cookers.
Je me trouve dans la même situation que vous : je peux sans problème ajouter un utilisateur à mon application mais lors du login, aucune requête n'est exécutée et il me renvoie authentification failed (oui, sans chercher, difficile de trouver). Auriez-vous trouver le pourquoi du comment?
Je précise : ma table s'appelle 'Utilisateur', le champ login est 'LOGIN_UTILISATEUR' et le password 'PASSWORD_UTILISATEUR'. J'ai donc mis les input avec ces id (et mon modèle est correctement relié à la table).
Cela poserait-il problème?
Merci d'avance :)
Salut, en suivant le tuto de la formation sur Cake, j'ai le même problème.
Un coup ca me log alors que je mets de faux identifiants, un coup ca ne me log pas.
J'ai scruté 20 fois le code de démo pour voir la différence avec le mien, jusqu'à en venir à remplacer par copier / coller, et pareil.
Le composant serait buggé ?
Si l'un d'entre vous veut bien m'envoyer son projet via git ou par email, je me ferai un plaisir de jetter un oeil (mon adresse email est visible plus haut)
oui, je peux pas envoyer de pieces jointes sur ton adresse on dirait:
"Our system detected an illegal attachment on your message."
Hmmm il me semble qu'il faut que tu precises le type d'authentification :
public $components = array('Session','Cookie',
'Auth' => array(
'authenticate' => array(
'Form'
)
)
);
Ou alors tu fais comme sa :
if($this->Auth->login($this->request->data)){
}
Par curiositer, quelle version de Cake vous utilisez les gars?
Pardon pour les eventuelles fautes de frappe, je suis sur mon smartphone :)
J'ai configuré le composant :
public $components = array(
'DebugKit.Toolbar',
'Session',
'Auth' => array(
'loginAction' => array(
'controller' => 'utilisateurs',
'action' => 'login'
),
'loginRedirect' => array(
array(
'controller' => 'tickets',
'action' => 'index'
)
),
'authenticate' => array(
'all' => array(
'userModel' => 'Utilisateur'),
'Form' => array(
'userModel' => 'Utilisateur',
'fields' => array(
'username' => 'LOGIN_UTILISATEUR',
'password' => 'PASSWORD_UTILISATEUR'
)
)
)
),
'Security' => array('csrfUseOnce' => false)
);
Ca ne me paraît donc pas être de là que vient le problème dans mon cas :/
Wai j'ai beau tout essayer ca ne toujours pasmarche pas, la seconde solution kael fais marcher le login à tous les coups :/
Il semble que ca marche maintenant,
j'ai fait comme ca
if ($this->request->is('post')) {
if ($this->Auth->login()){blabla^^}
au lieu de
if (!empty($this->request->data)) {
if ($this->Auth->login()) {}
Maintenant si quelqu'un sait pourquoi l'une marche et l'autre pas, je suis preneur !
Btw j'utilise le tout dernier cake 2.3.6
Hmmm, c'est très étrange. Je viens de tester sur mes sites (Cake 2.3.6) mais tout marche très bien, avec l'une ou l'autre des techniques...