在.env文件中配置好數(shù)據(jù)庫(kù)連接后,執(zhí)行php artisan make:auth
和php artisan migrate
命令就可以搭建好整個(gè)認(rèn)證系統(tǒng)的腳手架入热。
? 之后會(huì)在resources/views/auth文件夾下生成相應(yīng)的登錄链蕊,注冊(cè)邦马,找回密碼等樣板文件父丰。
? 同時(shí)在路由文件web.php中也增加了如下代碼:
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
Auth::routes()
路由在vender/laravel/framework/src/Illuminate/Routing/Router.php文件里面栏赴。(如何你找不到惠拭,可以查找一下‘a(chǎn)uth’關(guān)鍵字)
? laravel幾乎將所有東西都已經(jīng)配置好了职辅,配置文件位于config/auth.php
,其中包含了用于調(diào)整認(rèn)證服務(wù)行為的剩辟、標(biāo)注好注釋的選項(xiàng)配置噪馏。在其核心代碼中,laravel的認(rèn)證組件由guards和providers組成桃移。
- guard定義了用戶在每次請(qǐng)求中如何實(shí)現(xiàn)認(rèn)證,例如翩隧,laravel通過(guò)session guard來(lái)維護(hù)session存儲(chǔ)的狀態(tài)和cookie淑仆。
- provider定義了如何從持久化存儲(chǔ)中獲取用戶信息,laravel底層支持通過(guò)eloquent和數(shù)據(jù)庫(kù)查詢構(gòu)造器兩種方式來(lái)獲取用戶,如果需要的話你還可以定義額外的provider。
users數(shù)據(jù)表中必須含有nullable,100字符長(zhǎng)的remember_token字段捌蚊。當(dāng)用戶登陸應(yīng)用并勾選‘記住我’時(shí)這個(gè)字段用來(lái)保存記住我session的令牌。