CakePHP einfache Authentifizierung tutorial funktioniert nicht

Ich bin neu bei CakePHP. Ich versuche der Kuchen Kochbuch tutorial einfache Authentifizierung mit CakePHP-2.4.1.

Ich bin immer "Ungültiger Benutzername oder ungültiges Passwort, versuchen Sie es erneut" obwohl ich tippte die korrekten Benutzernamen und Passwort.

public function login() {
    if ($this->request->is('post')) {
        if ($this->Auth->login()) {
            return $this->redirect($this->Auth->redirect());
        }
        $this->Session->setFlash(__('Invalid username or password, try again'));
    }
}

Laut die AuthComponent-API, wenn der parameter Auth->login() ist leer oder nicht angegeben, wird die Anforderung zum identifizieren eines Benutzers.
Die debugging-Ausgabe zeigt

SELECT `User`.`id`, `User`.`username`, `User`.`password`, `User`.`role`, `User`.`created`, `User`.`modified` 
FROM `cake_dvdcatalog`.`users` AS `User` WHERE `User`.`username` = 'admin' LIMIT 1

Hier ist meine User-model:

//app/Model/User.php
App::uses('AuthComponent', 'Controller/Component');

class User extends AppModel {

    public $validate = array(
        'username' => array(
            'required' => array(
                'rule' => array('notEmpty'),
                'message' => 'A username is required'
            )
        ),
        'password' => array(
            'required' => array(
                'rule' => array('notEmpty'),
                'message' => 'A password is required'
            )
        ),
        'role' => array(
            'valid' => array(
                'rule' => array('inList', array('admin', 'author')),
                'message' => 'Please enter a valid role',
                'allowEmpty' => false
            )
        )
    );

    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;
    }
}
  • Kannst du deinen code für das user-model?
  • Sicher. Ich habe bearbeitet Sie meine Frage.
  • Versuchen, zu Debuggen $this->Auth->login () - Methode. Ein verschlüsseltes Passwort sollte das gleiche wie in der Datenbank.
InformationsquelleAutor Sithu | 2013-10-11
Schreibe einen Kommentar