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

7 réponses


extrarox
Réponse acceptée

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++

pikadjou
Auteur

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

Salut,

Déjà tu es sur Cake1.3 ou Cake2, il y a quelque changement entre les deux.

A+

pikadjou
Auteur

j ai cakephp 2.0.4, j avais oublier de le mettre sorry

pikadjou
Auteur

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.

C'est bon le petit V vert est mis^^

N'hésites pas à poser d'autres questions^^