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


Login With Email instead of username in cakephp

Hai 我是蛋糕的新手。我使用 CakePhp 设计了登录页面和注册页面,我在用户表中添加了 2 到 3 个用户信息。现在我想使用注册用户电子邮件和密码登录。如何使用身份验证使用电子邮件而不是用户名登录?我正在使用 cakephp 版本 2.4.2.你能帮我吗?提前谢谢。

可能的重复

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

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

另请参阅说明书中的配置身份验证处理程序。

所有学分:dhofstet

身份验证可能是 CakePHP 首次引入时最令人困惑的部分之一,您需要将"用户名"=>"用户名"更改为"用户名"=>"电子邮件"

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

我还建议在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'
        )
      )
    )
  )
);