我正在使用带有 oracle 连接的 zend:auth 适配器。我正在尝试在登录时对用户进行身份验证。如果用户输入常规字母数字,则身份验证会顺利进行,但是当密码是这样的(例如)IUCJAC\_
时,身份验证验证返回 false。
我努力了:
- Zend_View::escape();
- Zend_DB_Adapter::quote();
- php的addslashed();
无济于事。
有任何想法吗?
public function authAction()
{
//Returns encrypted password
$newpass = new Application_Model_Discoverpw();
$this->getHelper('viewRenderer')->setNoRender();
if(!empty($_POST))
{
$password =$newpass->encode_password(trim($_POST['password']));
$slashedPW = $db->quote($password);
$formValues = array(
'email' => $_POST['email'], 'password' => $slashedPW);
if ($this->_process($formValues)) {
// We're authenticated! Redirect to the home page
//echo '{"success":true}';
$this->_helper->redirector('index', 'sam');
//$this->_helper->redirector('index', 'index');
} else {
throw new Zend_Auth_Exception('Login failed! '. $sql);
//echo 'oh no!';
}
} else {
//Redirect to login page if no $_POST values found
$this->_helper->redirector('login', 'userauth');
}
}