Bonjour à tous, après plusieurs heures de débogage et de recherche sur google, je n'arrive toujours pas à résoudre mon problème.

Après avoir suivi le tuto sur l'Authentification que voici : http://www.grafikart.fr/formation/cakephp/auth-component

J'aimerais lors du formulaire de connexion, avoir une liste déroulante de mes "username" pour ainsi ne pas avoir à taper les identifiants.
J'arrive bien à récupérer ma liste déroulante, mais au moment de me connecter l'authentification échoue .... J'ai peut être mal paramétré le composant dans l'AppController ? Je suis complètement perdu !

Contrôleur :

$this->loadModel('User');
        $users = $this->User->find('list', array(
                'fields' => array('User.username'), 'order' => array('username' => 'asc')));

        $this->set(compact('centers','users'));

Vue :

<?= $this->Form->input('user_id', array('label' => 'Identifiant'));?>

AppControleur :

public $components = array(
        'Session',
        'Security',
        'Auth' => array(
            'authorize' => array('Controller'),'authenticate' => array(
            'Form' => array(
                'fields' => array('user_id' => 'id')
            )
        )
            )
        );

Debug de mes datas :

array(
    'User' => array(
        'password' => ' *****',
        'user_id' => '1',
        'center_id' => '1'
    )
)

Merci d'avance pour votre aide !

4 réponses


as tu essayé dans l’initialisation de Auth:

'authenticate' => array(
                        'Form' => array(
                                        'fields' => array('username' => 'id')
                                        )    
                        )

Oui j'ai essayé, toujours l'échec d'authentification ..

Bonjour,

J'ai le même probleme, mon $this->Auth->login ne fonctionne pas. Quand j'appuie sur "connexion" , j'ai l'impression qu'il ne va pas voir la base de donnée.

Martin Devosse avez vous trouvé la solution à votre problème?

Quelle est l'action qui reçoit le formulaire ?

<?= $this->Form->input('user_id', array('label' => 'Identifiant'));?>