国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Email 認(rèn)證

Email 認(rèn)證


Email Verification

簡(jiǎn)介

很多 Web 應(yīng)用會(huì)要求用戶在使用之前進(jìn)行 Email 地址驗(yàn)證。Laravel 不會(huì)強(qiáng)迫你在每個(gè)應(yīng)用中重復(fù)實(shí)現(xiàn)它,而是提供了便捷的方法來(lái)發(fā)送和校驗(yàn)電子郵件的驗(yàn)證請(qǐng)求。

Model 準(zhǔn)備

在開始之前,需要驗(yàn)證你的 App\User 模型是否實(shí)現(xiàn)了 Illuminate\Contracts\Auth\MustVerifyEmail 契約:

<?php 
    namespace App;
    use Illuminate\Notifications\Notifiable;
    use Illuminate\Contracts\Auth\MustVerifyEmail;
    use Illuminate\Foundation\Auth\User as Authenticatable;
    class User extends Authenticatable implements MustVerifyEmail{ 
       use Notifiable;
       // ...
  }

數(shù)據(jù)庫(kù)注意事項(xiàng)

Email 驗(yàn)證字段

接下來(lái),你的 user 需要包含一個(gè) email_verified_at 字段用來(lái)存儲(chǔ) Email 地址通過(guò)驗(yàn)證的時(shí)間。默認(rèn)情況下,Laravel 框架中 users 表的數(shù)據(jù)遷移已經(jīng)包含了這個(gè)字段。所以,您需要做的就只是執(zhí)行數(shù)據(jù)庫(kù)遷移:

php artisan migrate

路由

Laravel 的 Auth\VerificationController 類包含了發(fā)送驗(yàn)證鏈接和驗(yàn)證 Email 的必要邏輯。通過(guò)將 verify 選項(xiàng)傳給 Auth::routes 方法,就能為這個(gè)控制器注冊(cè)所需要的路由:

Auth::routes(['verify' => true]);

保護(hù)路由

路由中間件 可用于僅允許經(jīng)過(guò)驗(yàn)證的用戶訪問(wèn)指定路由。Laravel 附帶了 verified 中間件,它定義在 Illuminate\Auth\Middleware\EnsureEmailIsVerified。由于此中間件已在應(yīng)用程序的 HTTP 內(nèi)核中注冊(cè),因此您需要做的就是將中間件附加到路由定義:

Route::get('profile', function () { 
   // Only verified users may enter...
 })->middleware('verified');

視圖

Laravel 會(huì)在你執(zhí)行  make:auth 命令時(shí)為你生成郵件驗(yàn)證所必須的視圖文件,視圖文件的位置在  resources/views/auth/verify.blade.php,你可以根據(jù)自己的應(yīng)用自由地調(diào)整這些視圖的樣式。

郵箱認(rèn)證之后

在郵箱認(rèn)證之后,用戶會(huì)自動(dòng)被重定向至 /home。你可通過(guò)在 VerificationController 中定義一個(gè) redirectTo 方法或者屬性來(lái)調(diào)整認(rèn)證之后的跳轉(zhuǎn)位置。

protected $redirectTo = '/dashboard';

事件

Laravel 可以在驗(yàn)證過(guò)程中觸發(fā) 事件 , 你應(yīng)該在 EventServiceProvider 中注冊(cè)監(jiān)聽者:

/**
 * 應(yīng)用程序的事件監(jiān)聽器
 *
 * @var array
 */
 protected $listen = [
     'Illuminate\Auth\Events\Verified' => [   
          'App\Listeners\LogVerifiedUser',   
        ],
  ];
本文章首發(fā)在 LearnKu.com 網(wǎng)站上。