zend-framework - 如何使 Zend_Auth 对用户名大小写不敏感?

标签 zend-framework postgresql authentication zend-auth

有没有办法让 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/

相关文章:

zend-framework - 访问 SocialEngine 中的 _users 表?

php - 您将如何前往 Zend Framework 项目中的购物车 "design"?

c# - 使用 Npgsql postgres 和 C# 更新命令

sql - 如何选择具有 AND 条件的数据到多行

zend-framework - Zend_db 中的完整性约束违规

exception - 在 zend 框架中运行 Controller 单元测试时出现 "No default module defined for this application"异常

sql - psql 查询中时间戳的无法解释的语法错误

java - Jaas JDBC 身份验证

java - 我的 Java Swing 登录表单不起作用

c# - 修改 Windows 登录屏幕