Zend_Auth_Adapter_DbTable用于验证用户身份

时间:2009-12-02 10:36:58

标签: php zend-framework zend-auth

我从Zend框架开始,我想使用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”(或在第一个代码片段中使用它)失败...

是因为我使用的是sqlite3而不是mySQL ???

由于

1 个答案:

答案 0 :(得分:4)

看起来像。要在SQLite中使用MD5(),您需要Tcllib和Trf。