Email认证

Laravel 中文文档 · 2019-01-15 14:12:02

简介

许多 web 应用要求用户在使用之前进行 Email 地址验证。Laravel 不强迫你在每个应用中重新实现它,Laravel提供了方便的方法来发送和验证电子邮件验证请求。

Model 预备

开始之前, 验证你的 App\User 模型是否实现了 Illuminate\Contracts\Auth\MustVerifyEmail 契约。 此外,你应该使用 Illuminate\Auth\MustVerifyEmail trait:

<?php

namespace App;

use Illuminate\Auth\MustVerifyEmail;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Contracts\Auth\MustVerifyEmail as MustVerifyEmailContract;

class User extends Authenticatable implements MustVerifyEmailContract
{
    use MustVerifyEmail, Notifiable;

    // ...
}

数据库注意事项

Email 验证字段

接下来, 你的 user 需要包含一个 email_verified_at 字段用来存储 Email 地址通过验证的时间。默认的,Laravel框架中 users 表的数据迁移内已经包含了这个字段。所以,您需要做的就是执行数据库迁移:

php artisan migrate

路由

Laravel 的 Auth\VerificationController 类包含了发送验证链接和验证 Email 的所需逻辑。 要为这个控制器注册所需的路由 , 传递 verify 项给 Auth::routes 方法即可 :

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

保护路由

路由中间件 可用于仅允许经过验证的用户访问给定路由。Laravel 附带了 verified 中间件,它定义在 Illuminate\Auth\Middleware\EnsureEmailIsVerified。由于此中间件已在应用程序的HTTP内核中注册,因此您需要做的就是将中间件附加到路由定义:

Route::get('profile', function () {
    // 只有验证过的用户可以进入
})->middleware('verified');

视图

当执行 make:auth 命令时,Laravel将生成邮箱验证需要的所有视图。 视图位于 resources/views/auth/verify.blade.php。您可以根据应用需要自定义此视图。

邮箱验证之后

在 Email 地址通过验证之后,用户将被重定向到 /home。你可以通过在 VerificationController 中定义 redirectTo 方法或属性来自定义重定向地址:

protected $redirectTo = '/dashboard';

点击查看所有 Laravel 中文文档 文章: https://codercto.com/courses/l/3.html

查看所有标签

Python金融大数据分析

Python金融大数据分析

[德] 伊夫·希尔皮斯科 / 姚军 / 人民邮电出版社 / 2015-12 / CNY 99.00

唯一一本详细讲解使用Python分析处理金融大数据的专业图书;金融应用开发领域从业人员必读。 Python凭借其简单、易读、可扩展性以及拥有巨大而活跃的科学计算社区,在需要分析、处理大量数据的金融行业得到了广泛而迅速的应用,并且成为该行业开发核心应用的首选编程语言。《Python金融大数据分析》提供了使用Python进行数据分析,以及开发相关应用程序的技巧和工具。 《Python金融大......一起来看看 《Python金融大数据分析》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换