我被这个问题困住了。在我的 zend 应用程序中对登录凭据进行身份验证时,我还想检查该帐户是否已被确认。Confirmed 是我的帐户表中的一个布尔列,默认设置为 False。我正在尝试通过以下代码来实现这一点..但它不起作用
$db = Zend_Db_Table::getDefaultAdapter();
$authAdapter = new Zend_Auth_Adapter_DbTable($db);
$authAdapter->setTableName('Account');
$authAdapter->setIdentityColumn('Email');
$authAdapter->setCredentialColumn('Password');
$authAdapter->setCredentialTreatment('Confirmed = 1');
$authAdapter->setIdentity($data['email']);
$authAdapter->setCredential($data['password']);
$auth = Zend_Auth::getInstance();
$result = $auth->authenticate($authAdapter);
if ($result->isValid()) {
if ($data['public'] == "1") {
Zend_Session::rememberMe(Zend_Registry::getInstance()->constants->sessiontime);
} else {
Zend_Session::forgetMe();
}
return TRUE;
} else {
return FALSE;
}
尽管该帐户未确认身份验证通过。请告诉我我哪里错了