有没有办法让 Zend_Auth 接受不区分大小写的身份(即用户名)? Zend_Auth 似乎提供了一种向凭证字段添加特殊处理的方法,但不向身份字段添加特殊处理。
PS:我正在使用指向 Postgres 表的 Zend_Auth_Adapter_DbTable 。
最佳答案
这样的事情应该有效:
$authAdapter = new Zend_Auth_Adapter_DbTable(
$dbAdapter,
'usertable',
new Zend_Db_Expr('LOWER(username)'),
'password'
);
$authAdapter
->setIdentity(strtolower($this->_getParam('username'))
->setCredential($this->_getParam('password'));
并且请确保对数据库中的用户名字段使用 *_ci 排序规则之一(ci = 不区分大小写)。 希望对您有帮助
关于zend-framework - 如何使 Zend_Auth 对用户名大小写不敏感?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8959240/