setCredentialTreatment()如何在Zend Framework 1.12中运行?

时间:2014-01-28 05:18:10

标签: php zend-framework authentication

Heloo 我是Zend的新手, 我需要知道setCredentialTreatment()的工作原理。 我正在为数据库中的每个条目存储盐,并且盐用于加密密码这样的东西


    sha1($password.$salt);

是否有解决方案可以直接将查询密码与salt连接,并在验证之前不使用fetchin进行比较?

谢谢

2 个答案:

答案 0 :(得分:1)

setCredentialTreatment('SHA1(CONCAT(?,salt));

这个问题已在SO上得到解答:

Zend_Auth setCredentialTreatment

How setCredentialTreatment works in Zend framework

答案 1 :(得分:0)

有些事情是这样的: -

        $auth = Zend_Auth::getInstance();
        $authAdapter = new Zend_Auth_Adapter_DbTable(
            Zend_Db_Table::getDefaultAdapter(),
            'users',
            'username',
            'password',
            "CONCAT('$this->_salt', sha(?))"
        );
        $authAdapter->setIdentity($username)
            ->setCredential($password);

查看本教程。 http://blog.richardknop.com/2009/06/user-login-and-authentication-with-zend_auth-and-zend_acl/