我正在使用ZF2开发一个应用程序.我用username& ;;完成了用户身份验证.密码.但是,我想在身份验证中检查一个额外的列(例如:status).
我已经完成了以下代码.
public function authenticate() { $this->authAdapter = new AuthAdapter($this->dbAdapter,'usertable','username','password' ); $this->authAdapter->setIdentity($this->username) ->setCredential($this->password) ->setCredentialTreatment('MD5(?)'); $result = $this->authAdapter->authenticate(); return $result; }
如何检查身份验证中的列“状态”?
注意:状态值应为1.
谢谢.
当我使用zf2和doctrine构建我的身份验证时,我创建了授权插件并自定义了
this adapter,用于传递额外的列进行身份验证.
你可能需要继续进行类似的指导.
你可能需要继续进行类似的指导.
$adapter = new AuthAdapter($db,'users','password','MD5(?)' ); // get select object (by reference) $select = $adapter->getDbSelect(); $select->where('active = "TRUE"'); // authenticate,this ensures that users.active = TRUE $adapter->authenticate();
更改后,您的代码应该看起来像这样.
public function authenticate() { $this->authAdapter = new AuthAdapter($this->dbAdapter,'password' ); $select = $this->authAdapter->getDbSelect(); $select->where('status= "1"'); $this->authAdapter->setIdentity($this->username) ->setCredential($this->password) ->setCredentialTreatment('MD5(?)'); $result = $this->authAdapter->authenticate(); return $result; }