cakephp - 在 CakePHP 的身份验证组件中使用用户名而不是电子邮件

标签 cakephp cakephp-1.3 cakephp-1.2

使用 CakePHP 的身份验证组件,如何允许用户使用“用户名”或“电子邮件”字段作为用户名,使用“pass”字段作为密码进行身份验证?

最佳答案

“同时使用(用户名和电子邮件)作为用户名”是什么意思?

编辑:好的,那么您希望 Auth 查看数据库中的用户名和电子邮件字段,以与用户输入的“用户名”进行比较?然后执行以下操作:

function beforeFilter() {
  parent::beforeFilter();
  $this->Auth->fields = array('username' => 'username', 'password' => 'pass');
  $this->Auth->autoRedirect = false;
}
function login(){
  if ($this->Auth->user()) {
     $this->redirect($this->Auth->redirect());
  } else if (!empty($this->data)) {
     $this->Auth->fields = array('username' => 'email', 'password' => 'pass');
     $this->data['User']['email'] = $this->data['User']['username'];
     if($this->Auth->login($this->data))$this->redirect($this->Auth->redirect());
  }
}

关于cakephp - 在 CakePHP 的身份验证组件中使用用户名而不是电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6965492/

相关文章:

php - 如何在zend框架中进行Backing

CakePHP 删除不需要的关系

php - CakePHP 2.0 - 从某个结果集中获取具有特定参数的结果计数

php - 在主页上显示内容但不是在所有页面上显示内容

php - 禁用Cakephp的自动模型 "feature"

php - 如何使用 HABTM 关系在 CakePHP 中查询数据?

authentication - 关闭 Cakephp Auth 密码散列

mysql - 如何定义cakephp mysql索引?

mysql - CakePHP,不加入或排除加入?

cakephp - 如何在 Controller 中使用辅助函数?