Laravel 默認(rèn)郵箱登錄改成用戶名登錄的實(shí)現(xiàn)方法
Laravel中默認(rèn)的登錄是通過(guò)郵箱和密碼進(jìn)行登錄的。那么,怎么樣才能用最少的改動(dòng)將它改成用密碼登錄呢?
默認(rèn)的,Laravel使用的是 Illuminate\Foundation\Auth\AuthenticatesUsers
這個(gè)trait完成登錄功能的。通過(guò)觀察 AuthenticatesUsers
的代碼,發(fā)現(xiàn)下面一段很有意思的代碼:
protected function validateLogin(Request $request) { $this->validate($request, [ $this->username() => 'required|string', 'password' => 'required|string', ]); } public function username() { return 'email'; }
可以看到,是 因 為trait里定義了用戶名就是email,所以才會(huì)使得驗(yàn)證的時(shí)候通過(guò)用戶郵箱驗(yàn)證。 所以我們只需要定義一個(gè)trait,覆蓋 AuthenticatesUsers
中的 username()
方法即可實(shí)現(xiàn)后端代碼通過(guò)用戶名驗(yàn)證登錄。
新增的trait代碼
namespace App\Utils;
use Illuminate\Foundation\Auth\AuthenticatesUsers as LaravelAuthenticatesUsers; trait AuthenticatesUsers { use LaravelAuthenticatesUsers; public function username() { return 'name'; } }
其實(shí)還有另一個(gè)簡(jiǎn)單的修改方式,直接在LoginController
中新增 username()
方法。由于當(dāng)前定義方法會(huì)覆蓋trait的方法,因此也能達(dá)到修改的目的。但是會(huì)破壞登錄代碼的整體一致性,所以最好還是通過(guò)新增trait的方式實(shí)現(xiàn)。
同時(shí)要記得修改前端blade文件中對(duì)輸入?yún)?shù)的驗(yàn)證,然后就可以使用用戶名登錄了
總結(jié)
以上所述是小編給大家介紹的Laravel 默認(rèn)郵箱登錄改成用戶名登錄的實(shí)現(xiàn)方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
- laravel5.4利用163郵箱發(fā)送郵件的步驟詳解
- 在Laravel框架里實(shí)現(xiàn)發(fā)送郵件實(shí)例(郵箱驗(yàn)證)
- Laravel 5框架學(xué)習(xí)之用戶認(rèn)證
- 詳解Laravel5.6 Passport實(shí)現(xiàn)Api接口認(rèn)證
- Laravel5.5中利用Passport實(shí)現(xiàn)Auth認(rèn)證的方法
- Laravel實(shí)現(xiàn)用戶多字段認(rèn)證的解決方法
- Laravel認(rèn)證原理以及完全自定義認(rèn)證詳解
- Laravel多用戶認(rèn)證系統(tǒng)示例詳解
- 解決Laravel5.2 Auth認(rèn)證退出失效的問(wèn)題
- laravel實(shí)現(xiàn)Auth認(rèn)證,登錄、注冊(cè)后的頁(yè)面回跳方法
- laravel框架郵箱認(rèn)證實(shí)現(xiàn)方法詳解
相關(guān)文章
laravel 解決強(qiáng)制跳轉(zhuǎn) https的問(wèn)題
今天小編就為大家分享一篇laravel 解決強(qiáng)制跳轉(zhuǎn) https的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10PHP5中實(shí)現(xiàn)多態(tài)的兩種方法實(shí)例分享
多態(tài)這個(gè)概念,在Java中指的是變量可以指向的對(duì)象的類型,可是變量聲明類型的子類。對(duì)象一旦創(chuàng)建,它的類型是不變的,多態(tài)的是變量2014-04-04ThinkPHP3.1數(shù)據(jù)CURD操作快速入門
這篇文章主要介紹了ThinkPHP3.1的CURD操作,需要的朋友可以參考下2014-06-06關(guān)于php微信訂閱號(hào)開發(fā)之token驗(yàn)證后自動(dòng)發(fā)送消息給訂閱號(hào)但是沒有消息返回的問(wèn)題
最近做了個(gè)項(xiàng)目,當(dāng)token驗(yàn)證之后,發(fā)送消息給訂閱號(hào),但是沒有消息返回,下面小編通過(guò)本篇文章給大家分享我的解決辦法2015-12-12php如何把表單內(nèi)容提交到數(shù)據(jù)庫(kù)
這篇文章主要介紹了php如何吧表單內(nèi)容提交到數(shù)據(jù)庫(kù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07