gpt4 book ai didi

cakephp - 如何使用用户名或电子邮件 ID 登录

转载 作者:行者123 更新时间:2023-12-04 21:00:10 26 4
gpt4 key购买 nike

我正在用 cakephp 开发一个网站。
我想提供使用用户名或 emailid 登录的便利。

我在用。
$this->Auth->fields['email'] ='username';

当登录失败并尝试重新登录时。
但直到现在我还没有成功。

任何人都可以建议我对此有任何其他想法或我缺少什么。
我也禁用了 autorediret。

最佳答案

既然可以设置AuthComponentbeforeFilter回调,我认为您也应该能够在那里进行一些切换:

function beforeFilter() {
if (
isset($this->data['User']['login']) && // login form has been posted
Validation::email($this->data['User']['login']) // value looks like an email
) {
$this->Auth->fields = array('username' => 'email'); // change the db field
}
}

如果这不起作用,您可能需要尝试更早的过滤器,例如 beforeRender ,因为您需要在 AuthComponent::startup() 之前触发您的代码.作为最后的手段,您可以 extend the AuthComponent :
App::import('Component', 'AuthComponent');
class AppAuthComponent extends AuthComponent {

function startup() {
# your code here
parent::startup();
}
}

关于cakephp - 如何使用用户名或电子邮件 ID 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1520804/

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