2009-12-02 5 views
1

Je commence avec le framework Zend et je voulais utiliser Zend_Auth_Adapter_DbTable pour authentifier mes utilisateurs ...Zend_Auth_Adapter_DbTable pour authentifier les utilisateurs

Je regardais les documents, qui semblent tout à fait simple, mais je reçois un Erreur.

Voici mon extrait de code:

$adapter = new Zend_Auth_Adapter_DbTable($this->_dbAdapter, 'users', 'username', 'password', 'MD5(?)'); 

J'ai une table « utilisateurs » avec les colonnes « nom d'utilisateur » et « mot de passe », mais chaque fois que je lance

$result = $adapter->authenticate(); 

Je reçois une demande erreur:

Message: The supplied parameters to Zend_Auth_Adapter_DbTable failed to produce a valid sql statement, please check table and column names for validity. 

Quelqu'un peut-il m'aider avec ceci? Je veux juste une authentification de base (les mots de passe cryptés à l'aide md5)

La chose étrange est que les travaux suivants ...

$adapter = new Zend_Auth_Adapter_DbTable($this->_dbAdapter); $adapter->setTableName('users') ->setIdentityColumn('username') ->setCredentialColumn('password') ->setIdentity($username) ->setCredential(md5($password)); 

mais pourquoi le « setCredentialTreatment » (ou de l'utiliser comme dans le premier extrait de code) méthode échouer ...

est-ce parce que j'utilise sqlite3 et pas mySQL ???

Merci

Répondre

4

Ressemble. Pour utiliser MD5() dans SQLite, vous avez besoin de Tcllib et Trf.

Questions connexes