使用电子邮件登录而不是使用cakephp中的用户名

时间:2013-10-25 10:02:46

标签: php cakephp-2.4

Hai我是cakephp的新手。我使用CakePhp设计了登录页面和注册页面。我已经在users表中添加了2到3个用户信息。现在我想用注册用户登录电子邮件和密码。我怎么能使用身份验证登录电子邮件而不是用户名?我正在使用cakephp版本2.4.2。请你帮我吗?先谢谢。

2 个答案:

答案 0 :(得分:0)

Possible duplicate

尝试使用以下命令进行配置:

public $components = array(
    'Auth' => array(
        'authenticate' => array(
            'Form' => array(
                'fields' => array('username' => 'email')
            )
        )
    )
);

另见食谱中的Configuring Authentication handlers

所有致谢:dhofstet

答案 1 :(得分:0)

Auth可能是CakePHP首次推出时最令人困惑的部分之一, 您需要将'username'=>'username'更改为'username'=>'email'

以下是我当前某个项目的摘录,我们使用电子邮件字段而不是用户名。

我也会在CakePHP 2.0 Auth上建议这个视频: http://www.youtube.com/watch?v=zvwQGZ1BxdM

从CakePHP开始,视频教程帮了我很多忙。

public $components = array(
  'Auth' => array(
    'loginAction' => array(
      'controller' => 'user',
      'action' => 'signin'
    ),
    'loginRedirect' => '/',
    'authError' => 'Did you really think you are allowed to see that?',
    'userModel' => 'User',
    'authenticate'=>array(
      'Form'=>array(
        'fields'=>array(
          'username'=>'email',
          'password'=>'password'
        )
      )
    )
  )
);