gpt4 book ai didi

CakePHP 使用 Auth 组件通过用户名或电子邮件登录

转载 作者:行者123 更新时间:2023-12-02 09:53:29 25 4
gpt4 key购买 nike

在我目前的系统中,我需要使用用户名或电子邮件和密码登录。有人知道如何实现这一目标吗?

我的表格:

<?php echo $this->Form->create('User', array('action' => 'login'));
echo $this->Form->input('username', array('class' => 'TextField js-user-mode'));
echo $this->Form->input('password', array('class' => 'TextField'));
?>

我的应用程序 Controller :

public $components = array(


'Email'=>array(),
'Auth' => array(
'loginAction' => array(
'admin' => false,
'controller' => 'users',
'action' => 'login'
),
'authError' => 'Your session has ended due to inactivity. Please login to continue.',
'authenticate' => array(
'Form' => array(
'fields' => array('username' => array('username','email')),
),
'all' => array(
'userModel' => 'User',
'scope' => array('User.status' =>array('active'))
)

)
)
);

让我知道我还需要做什么..??

最佳答案

我不确定发布旧问题答案的礼仪是什么,但这就是我为此所做的。

在我的登录功能中

        $username  = $this->data['User']['username'];
$password = $this->request->data['User']['password'];

$user = $this->User->findByUsername($username);
if (empty($user)) {
$user = $this->User->findByEmail($username);

if (empty($user)) {
$this->Session->setFlash(__('Incorrect Email/Username or Password'));
return;
}
$this->request->data['User']['username'] = $user['User']['username'];
}

关于CakePHP 使用 Auth 组件通过用户名或电子邮件登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17977959/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com