添加Zend_Auth_Adapter_DbTable的条件

Moa*_*oak 4 zend-framework zend-auth

这似乎是一个愚蠢的问题,但在这段代码中,我将在哪里插入条件 'WHERE state=1'

    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();
    }
Run Code Online (Sandbox Code Playgroud)

Mar*_*cin 9

基于zf手册中的示例,我想说你可以添加AND state=1到你的setCredentialTreatment()方法中:

->setCredentialTreatment('SHA1(CONCAT(?,salt)) AND state = 1');
Run Code Online (Sandbox Code Playgroud)

  • ` - > setCredentialTreatment('?and verified ="Y"');`有效 (2认同)