2009-12-02 3 views
1

Я начинаю с Zend Framework, и я хотел использовать Zend_Auth_Adapter_DbTable для аутентификации пользователей моих ...Zend_Auth_Adapter_DbTable для аутентификации пользователей

Я посмотрел на документы, которые, кажется, довольно прямо вперед, но я получаю сообщение об ошибка.

Вот мой фрагмент кода:

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

У меня есть таблица "пользователей с«именем»и«пароль»столбцов, но каждый раз, когда я бегу

$result = $adapter->authenticate(); 

Я получаю заявку ошибка:

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

Может ли кто-нибудь помочь мне с этим? Я просто хочу обычную проверку подлинности (пароли шифруются с помощью md5)

Странная вещь, что следующие работы ...

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

но почему же «setCredentialTreatment» (или использовать его как в первый фрагмент кода) метод fail ...

это потому, что я использую sqlite3, а не mySQL ???

Thanks

ответ

4

Похож на этого. Для использования MD5() в SQLite вам нужны Tcllib и Trf.

Смежные вопросы