位置: 编程技术 - 正文
推荐整理分享基于Laravel5.4实现多字段登录功能方法示例,希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!
前言
最近在一个项目中需要实现一个多字段登录功能,简单来说就是可以使用用户名、邮箱或手机号任意一种方式进行登录。所以本文就来给大家介绍了关于Laravel5.4多字段登录的相关内容,分享出来供大家参考学习,话不多说了,来一起看看详细的介绍吧。
以下内容基于laravel5.4
方法如下:
首先,通过artisan工具生成auth模块
php artisan make:auth
这时候AppHttpControllers目录下会新增一个Auth目录,该目录下为注册登录相关的控制器,resourcesviews目录下也会生成一些与注册登录相关的视图
laravel的官方文档中说手动认证用户需要使用IlluminateSupportFacadesAuth类的attempt方法,如下:
这个方法会根据你传入的参数判断数据库中是否存在与之相匹配的用户,如果存在并且密码正确返回true,反之返回false
遂在LoginController中添加该方法,但是好像并没有效果
于是开始观察LoginController的实现机制,发现它实现了一个AuthenticatesUsers的trait,追踪到这个trait的定义文件,发现这个文件就是我们想要的东西
里面有一个login方法,就是负责处理登录的逻辑
分析了一波这个文件,发现主要进行登录判断的就是attemptLogin方法,我们只要重写这个方法即可,先看看原来的是怎么写的,根据原来的进行重写:
在LoginController重写后:
只需要用attempt方法进行多次判断即可,只要成功就返回true,不成功继续用其他字段进行判断,都不成功则返回flase
测试,可以实现多字段登录效果
总结
上一篇:如何利用预加载优化Laravel Model查询详解(预加载的目的是什么)
友情链接: 武汉网站建设