滑稽 的博客

Laravel5.3兼容两个字段作为账号实现登录认证

以Laravel5.3.2来做的实验  5.N.x  x级别的小版本,laravel版本管理的很差,可能多是开发版。


A. 如果你想只一个字段登录系统,而且不是email字段的话,直接修改\vendor\laravel\framework\src\Illuminate\Foundation\Auth\ 下面的这个AuthenticatesUsers.php

username()方法是处理用的哪个字段登录的,改成你需要的那个字段名称就行,例如改成'mobile'修改之后,也要记得在模板中,改为$errors->has('mobile')来获取错误。


B.兼容两个字段:

多加一个判断就可以的,给一个统一的命名


1. 登录页面,将blade改成name为login的用户名,统一用作  可以选择Email/Mobile 来登陆

同样,将获取报错信息也改成login


login.blade.php的修改

2. 修正登录部分的字段

① username()方法为 return 'login';  

② 登陆尝试的判断,修改为我们需要的来试验

直接修改\vendor\laravel\framework\src\Illuminate\Foundation\Auth\ 下面的这个AuthenticatesUsers.php 



C. 修改Auth/LoginController.php来实现

在LoginController中直接添加两个方法来实现,这两个方法复制来自

\vendor\laravel\framework\src\Illuminate\Foundation\Auth\ 下面的这个AuthenticatesUsers.php,为credentials和username方法,然后进行修改,demo示例为假设blade中login为账户名的name值


,然后这样的情况下,AuthenticatesUsers.php可以保持原来的样子不变化。

评论
< >
更多文章来:https://alpha2016.github.io
< >
© 滑稽 的博客 | Powered by LOFTER