Laravel 默认邮箱登录改成用户名登录的实现方法


Posted in PHP onAugust 12, 2019

Laravel中默认的登录是通过邮箱和密码进行登录的。那么,怎么样才能用最少的改动将它改成用密码登录呢?

默认的,Laravel使用的是 Illuminate\Foundation\Auth\AuthenticatesUsers 这个trait完成登录功能的。通过观察 AuthenticatesUsers 的代码,发现下面一段很有意思的代码:

protected function validateLogin(Request $request)
  {
    $this->validate($request, [
      $this->username() => 'required|string',
      'password' => 'required|string',
    ]);
  }
  public function username()
  {
    return 'email';
  }

可以看到,是 因 为trait里定义了用户名就是email,所以才会使得验证的时候通过用户邮箱验证。 所以我们只需要定义一个trait,覆盖 AuthenticatesUsers 中的 username() 方法即可实现后端代码通过用户名验证登录。

新增的trait代码

namespace App\Utils;

use Illuminate\Foundation\Auth\AuthenticatesUsers as LaravelAuthenticatesUsers;
trait AuthenticatesUsers {
 use LaravelAuthenticatesUsers;
  public function username()
  {
    return 'name';
  }
}

其实还有另一个简单的修改方式,直接在LoginController中新增 username() 方法。由于当前定义方法会覆盖trait的方法,因此也能达到修改的目的。但是会破坏登录代码的整体一致性,所以最好还是通过新增trait的方式实现。

同时要记得修改前端blade文件中对输入参数的验证,然后就可以使用用户名登录了

Laravel 默认邮箱登录改成用户名登录的实现方法

总结

以上所述是小编给大家介绍的Laravel 默认邮箱登录改成用户名登录的实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

PHP 相关文章推荐
第四节 构造函数和析构函数 [4]
Oct 09 PHP
PHP4 与 MySQL 交互使用
Oct 09 PHP
php将数据库中所有内容生成静态html文档的代码
Apr 12 PHP
php中导出数据到excel时数字变为科学计数的解决方法
Feb 03 PHP
PHP闭包实例解析
Sep 08 PHP
thinkphp数据查询和遍历数组实例
Nov 28 PHP
javascript+php实现根据用户时区显示当地时间的方法
Mar 11 PHP
Zend Framework教程之路由功能Zend_Controller_Router详解
Mar 07 PHP
PHP+Ajax实现无刷新分页实例详解(附demo源码下载)
Apr 07 PHP
详解Yaf框架PHPUnit集成测试方法
Dec 27 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
Feb 07 PHP
PHP使用非对称加密算法RSA
Apr 21 PHP
php链式操作的实现方式分析
Aug 12 #PHP
基于PHP实现微信小程序客服消息功能
Aug 12 #PHP
php swoole多进程/多线程用法示例【基于php7nts版】
Aug 12 #PHP
PHP基于swoole多进程操作示例
Aug 12 #PHP
PHP swoole和redis异步任务实现方法分析
Aug 12 #PHP
php使用pecl方式安装扩展操作示例
Aug 12 #PHP
PHP实现与java 通信的插件使用教程
Aug 11 #PHP
You might like
模拟OICQ的实现思路和核心程序(三)
2006/10/09 PHP
PHP sprintf()函数用例解析
2011/05/18 PHP
说说PHP的autoLoad自动加载机制
2012/09/27 PHP
PHP程序中的文件锁、互斥锁、读写锁使用技巧解析
2016/03/21 PHP
详解PHP5.6.30与Apache2.4.x配置
2017/06/02 PHP
Maps Javascript
2007/01/22 Javascript
Javascript实现单张图片浏览
2014/12/18 Javascript
解析Node.js异常处理中domain模块的使用方法
2016/02/16 Javascript
基于jquery实现智能表单验证操作
2016/05/09 Javascript
JS判断字符串变量是否含有某个字串的实现方法
2016/06/03 Javascript
jquery之别踩白块游戏的简单实现
2016/07/25 Javascript
jQuery实现的placeholder效果完整实例
2016/08/02 Javascript
js清除浏览器缓存的几种方法
2017/03/15 Javascript
Bootstrap下拉菜单更改为悬停(hover)触发的方法
2017/05/24 Javascript
jQuery EasyUI的TreeGrid查询功能实现方法
2017/08/08 jQuery
详解vue中使用express+fetch获取本地json文件
2017/10/10 Javascript
Webpack的dll功能使用
2018/06/28 Javascript
react在安卓中输入框被手机键盘遮挡问题的解决方法
2018/09/03 Javascript
vue实现带过渡效果的下拉菜单功能
2020/02/19 Javascript
JS实现按比例缩小图片宽高
2020/08/24 Javascript
Django与JS交互的示例代码
2017/08/23 Python
Python 实现购物商城,含有用户入口和商家入口的示例
2017/09/15 Python
selenium+python实现自动登录脚本
2018/04/22 Python
Python叠加两幅栅格图像的实现方法
2019/07/05 Python
Python使用matplotlib绘制Logistic曲线操作示例
2019/11/28 Python
解决pip install psycopg2出错问题
2020/07/09 Python
使用Python解析Chrome浏览器书签的示例
2020/11/13 Python
捷克汽车配件和工具销售网站:TorriaCars
2018/02/26 全球购物
Raffaello Network西班牙:意大利拉斐尔时尚购物网
2019/03/12 全球购物
编辑找工作求职信范文
2013/12/16 职场文书
2014年教师培训的自我评价
2014/01/03 职场文书
亮化工程实施方案
2014/03/17 职场文书
《和田的维吾尔》教学反思
2014/04/14 职场文书
活动总结格式范文
2014/04/26 职场文书
2014迎国庆演讲稿
2014/09/19 职场文书
2019请假条的基本格式及范文!
2019/07/05 职场文书