首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用用户名登录或用Cakephp 4发送电子邮件

用用户名登录或用Cakephp 4发送电子邮件
EN

Stack Overflow用户
提问于 2020-12-07 14:33:09
回答 1查看 520关注 0票数 0

这是Login with username or email with Cakephp 3的后续问题:是否可以首先检查用户是否被用户名找到,如果没有,可以通过电子邮件查找用户名吗?

这个问题的答案中概述的解决方案在cakephp-4中不再有效,因为它们依赖于像这样操作请求对象:$this->request->data['email'] = $this->request->data['username'];。这在cakephp-4中已经不可能了。

是否有一种无需操作请求对象而对用户进行身份验证的方法?我唯一能想到的就是有一些javascript将用户名输入的内容复制到隐藏的电子邮件输入中,这样在请求中就可以设置电子邮件字段,而不必在服务器端操纵请求。然而,这似乎是一个非常棘手、脆弱的解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-07 16:31:34

当使用AuthComponent时,我使用Tools.MultiColumn ( https://github.com/dereuromark/cakephp-tools/blob/master/docs/Auth/MultiColumn.md ),它仍然工作正常。

参见例如https://github.com/dereuromark/cakephp-sandbox/blob/master/src/Controller/AppController.php#L57

对于Auth插件,更好的选择是为配置使用数组,如插件文档中所述:

字段:查找的字段。默认为‘用户名’=>‘用户名’,‘密码’‘=>’密码‘。还可以将用户名设置为数组。例如,使用[‘用户名’=>‘用户名’、‘电子邮件’、‘密码’‘=>’密码‘]将允许您匹配用户名或电子邮件列的值。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65183685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档