代码之家  ›  专栏  ›  技术社区  ›  just_a_dude

zend_auth_adapter_dbtable验证用户

  •  1
  • just_a_dude  · 技术社区  · 16 年前

    我从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 回复  |  直到 13 年前
        1
  •  4
  •   Franz    16 年前

    看起来像这样。为了使用 MD5() 在sqlite中,您需要tcllib和trf。

    推荐文章