为Zend_Auth_Adapter_DbTable添加条件

|| 这似乎是一个愚蠢的问题,但是在这段代码中,我将在哪里插入条件“ 0”
    public function loginByUsernameAndPassword($username, $password)
    {   
        $this->_auth_adapter = new Zend_Auth_Adapter_DbTable( $this->getAdapter() );
        $this->_auth_adapter->setTableName(\'zend_administration_user\')
                            ->setIdentityColumn(\'user_nm\')
                            ->setCredentialColumn(\'password\')
                            ->setCredentialTreatment(\'SHA1(CONCAT(?,salt))\');
        $this->_auth_adapter->setIdentity($username)
                            ->setCredential($password);
        $result = Zend_Auth::getInstance()->authenticate($this->_auth_adapter);
        return $result->isValid();
    }
    
已邀请:
基于zf手册中的示例,我想说您可以在setCredentialTreatment()方法中添加
AND state=1
->setCredentialTreatment(\'SHA1(CONCAT(?,salt)) AND state = 1\');
    
对于那些希望进入这个职位的人。在验证发生的同一表中,有更好的方法来验证条件:   另一种替代方法是使用该方法的getDbSelect()方法   构造适配器后,Zend_Auth_Adapter_DbTable。这个   方法将返回Zend_Db_Select对象实例,它将用于   完成authenticate()例程。 对于上面的示例:
$select = $this->_auth_adapter->getDbSelect();
$select->where(\'state = 1\');

// authenticate, this ensures that zend_administration_user.state = 1
$adapter->authenticate();
资料来源:http://framework.zend.com/manual/1.12/en/zend.auth.adapter.dbtable.html     

要回复问题请先登录注册