Zend身份验证和登录 - 接受foo和foo1!两者都保存了foo密码

时间:2012-07-15 19:44:34

标签: zend-framework authentication login passwords

我正在尝试编写身份验证和登录脚本的脚本并在那里安静..我的数据库中保存了密码'密码'...它使用密码'密码'但是不应该使用'password1! “或者前缀或后缀两个字符更多....它不应该接受它......但如果我输入不同的字符串(不同的字符串或更多字符),它会给我一个正确的错误......

这是我数据库表中唯一的一行......没有重复的条目..

以下是代码

public function validate_login($valuethrown) {

    $username = $valuethrown['username'];
    $email = $valuethrown['email'];
    $password = $valuethrown['password'];

    echo "Values thrown to the model are : $username, $email, $password";
    $authAdapter = $this->getAuthAdaptor();
    $authAdapter->setIdentity($email)
            ->setCredential(md5($password));
    $auth = Zend_Auth::getInstance();
    $result = $auth->authenticate($authAdapter);
    if ($result->isValid()) {
        $data = $authAdapter->getResultRowObject(null,'password');
        $auth->getStorage()->write($data);
        $this->_redirect('home');
    } else {
        echo "</br>Wrong Password</br>";
    }
    //check login details
}

public function getAuthAdaptor() {
    $authAdapter = new Zend_Auth_Adapter_DbTable(Zend_Db_Table::getDefaultAdapter());
    $authAdapter->setTableName('users')
            ->setIdentityColumn('email')
            ->setCredentialColumn('password');
    return $authAdapter;
}

帮助!

0 个答案:

没有答案