本篇文章為大家展示了如何在Laravel中將默認(rèn)郵箱登錄改成用戶名登錄,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
創(chuàng)新互聯(lián)是工信部頒發(fā)資質(zhì)IDC服務(wù)器商,為用戶提供優(yōu)質(zhì)的眉山服務(wù)器托管服務(wù)默認(rèn)的,Laravel使用的是 Illuminate\Foundation\Auth\AuthenticatesUsers
這個(gè)trait完成登錄功能的。通過觀察 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í)候通過用戶郵箱驗(yàn)證。 所以我們只需要定義一個(gè)trait,覆蓋AuthenticatesUsers
中的 username()
方法即可實(shí)現(xiàn)后端代碼通過用戶名驗(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ì)破壞登錄代碼的整體一致性,所以好還是通過新增trait的方式實(shí)現(xiàn)。
同時(shí)要記得修改前端blade文件中對(duì)輸入?yún)?shù)的驗(yàn)證,然后就可以使用用戶名登錄了
上述內(nèi)容就是如何在Laravel中將默認(rèn)郵箱登錄改成用戶名登錄,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)頁題目:如何在Laravel中將默認(rèn)郵箱登錄改成用戶名登錄-創(chuàng)新互聯(lián)
分享路徑:http://m.rwnh.cn/article22/gepcc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、微信小程序、營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站營(yíng)銷、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容