0

我正在使用带有 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');
    }
}
4

0 回答 0