Zend_Auth_Adapter_DbТаблица для аутентификации пользователей - PullRequest
1 голос
/ 02 декабря 2009

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

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

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

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

У меня есть таблица 'users' со столбцами 'username' и 'password', но каждый раз, когда я запускаю

$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 (или использует его, как в первом фрагменте кода) не работает ...

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

Спасибо

1 Ответ

4 голосов
/ 02 декабря 2009

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

...