使用 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/