1.本节需要发送验证邮件

2.教程使用SendCloud发送邮件 【我使用的是mailtrap】

3.

  1 composer require laravel/ui

安装完成后

  1 php artisan ui vue –auth

4.RegisterController中create方法内实现用户创建的默认值配置

  1 class RegisterController extends Controller
2 {
3 /*
4 |--------------------------------------------------------------------------
5 | Register Controller
6 |--------------------------------------------------------------------------
7 |
8 | This controller handles the registration of new users as well as their
9 | validation and creation. By default this controller uses a trait to
10 | provide this functionality without requiring any additional code.
11 |
12 */
13
14 use RegistersUsers;
15
16 /**
17 * Where to redirect users after registration.
18 *
19 * @var string
20 */
21 protected $redirectTo = RouteServiceProvider::HOME;
22
23 /**
24 * Create a new controller instance.
25 *
26 * @return void
27 */
28 public function __construct()
29 {
30 $this->middleware('guest');
31 }
32
33 /**
34 * Get a validator for an incoming registration request.
35 *
36 * @param array $data
37 * @return \Illuminate\Contracts\Validation\Validator
38 */
39 protected function validator(array $data)
40 {
41 return Validator::make($data, [
42 'name' => ['required', 'string', 'max:255'],
43 'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
44 'password' => ['required', 'string', 'min:8', 'confirmed'],
45 ]);
46 }
47
48 /**
49 * Create a new user instance after a valid registration.
50 *
51 * @param array $data
52 * @return \App\User
53 */
54 protected function create(array $data)
55 {
56 return User::create([
57 'name' => $data['name'],
58 'email' => $data['email'],
59 'avatar' => '/image/avatars/default.png',
60 //这里其实不需要再设置activation_token的值,也不需要再在验证后设置activated=1 采用Laravel提供的新功能验证用户邮箱即可 默认带一个email_verified_at字段,且更加完善具有过期时间戳和签名
61 'activation_token' => str_random(),//通过composer require laravel/helpers安装扩展包
62 'password' => Hash::make($data['password']),
63 ]);
64 }
65 }
66

注意:去掉教程当中发送邮件部分的代码,直接使用默认的Laravel提供的邮件验证流程 User.php实现MustVerifyEmail及verify的添加:如下三个文件内部的代码

User.app中:

  1 class User extends Authenticatable implements MustVerifyEmail
2 {
3 use Notifiable;
4
5 /**
6 * The attributes that are mass assignable.
7 *
8 * @var array
9 */
10 protected $fillable = [
11 'name', 'email', 'password', 'avatar', 'activation_token'
12 ];
13
14 /**
15 * The attributes that should be hidden for arrays.
16 *
17 * @var array
18 */
19 protected $hidden = [
20 'password', 'remember_token',
21 ];
22
23 /**
24 * The attributes that should be cast to native types.
25 *
26 * @var array
27 */
28 protected $casts = [
29 'email_verified_at' => 'datetime',
30 ];
31 }

HomeController当中:

  1 class HomeController extends Controller
2 {
3 /**
4 * Create a new controller instance.
5 *
6 * @return void
7 */
8 public function __construct()
9 {
10 $this->middleware(['auth', 'verified']);
11 }
12
13 /**
14 * Show the application dashboard.
15 *
16 * @return \Illuminate\Contracts\Support\Renderable
17 */
18 public function index()
19 {
20 return view('home');
21 }
22 }

web.php当中:

  1 <?php
2
3 /*
4 |--------------------------------------------------------------------------
5 | Web Routes
6 |--------------------------------------------------------------------------
7 |
8 | Here is where you can register web routes for your application. These
9 | routes are loaded by the RouteServiceProvider within a group which
10 | contains the "web" middleware group. Now create something great!
11 |
12 */
13
14 Route::get('/', function () {
15 return view('welcome');
16 });
17
18 Auth::routes(['verify' => true]);
19
20 Route::get('/home', 'HomeController@index')->name('home');
21

5.要使用helper方法需要 composer require laravel/helpers  安装扩展包

Laravel Vuejs 实战:开发知乎 (2)用户注册的更多相关文章

  1. Laravel Vuejs 实战:开发知乎 (6)发布问题

    1.view部分: 安装一个扩展包:Laravel-UEditor composer require "overtrue/laravel-ueditor:~1.0" 配置 添加下面 ...

  2. Laravel Vuejs 实战:开发知乎 (10)使用 Select2 优化话题选择

    1.添加选择Topic 使用Select2,如何安装Select2 ,具体使用实例 Select2 and Laravel: Ajax Autocomplete 及 Loading data remo ...

  3. Laravel Vuejs 实战:开发知乎 (9)定义话题与问题关系

    1.话题[Topic] 执行命令: php artisan make:model Topic –cmr 修改****_**_**_create_topics_table.php数据库迁移文件如下: c ...

  4. Laravel Vuejs 实战:开发知乎 (8)美化编辑器

    1.使用UEditor增量包: simple-ueditors 执行下载: git clone https://github.com/JellyBool/simple-ueditor.git 2.用此 ...

  5. Laravel Vuejs 实战:开发知乎 (3)本地化和自定义消息

    1.本地化 由于所有blade默认采用的是 _('')方式输出标签文本,所以可以安装一个语言包,直接指定本地语言为zh_CN即可: 安装 https://github.com/caouecs/Lara ...

  6. Laravel Vuejs 实战:开发知乎 (2)用户登录

    1.安装一个给用户提示的扩展包: 二选一: https://github.com/laracasts/flash [我选的这个]https://github.com/oanhnn/laravel-fl ...

  7. Laravel Vuejs 实战:开发知乎 (1)项目环境配置和用户表设计

    1.使用laragon新建laravel项目 zhihu 2.配置env文件的database设置 DB_DATABASE=zhihu 3.分析users表需要的字段 4.修改数据库迁移文件: cla ...

  8. Laravel Vuejs 实战:开发知乎 (5)设计问题表

    1.执行命令: php artisan make:model Models/Question -cm 2.设计问题的数据库迁移文件中的字段: <?php use Illuminate\Datab ...

  9. Laravel Vuejs 实战:开发知乎 (7)验证问题表单字段

    上一节代码中已经实现 下面代码中的validate内部配置就是: public function store(Request $request) { // $data = $request->v ...

随机推荐

  1. SQL With As的用法

    WITH AS,也叫子查询部分(subquery factoring),可以定义一个SQL片断,该SQL片断会被整个SQL语句用到.可以使SQL语句的可读性更高,也可以在UNION ALL的不同部分, ...

  2. OWIN时遇到的问题

    1.在需要授权时如何获得需要授权的应用clientId? 除了从Request.QueryString("client_id")中获得还有别的方法吗?例如通过OWIN中间件的某个属 ...

  3. mysql 实践(例题)

    MySQL安装见本博 安装成功后,开始菜单中找到 “MySQL 8.0 Command Line Client” 进行启动(启动后,可直接输入MySQL密码) 1. create database 数 ...

  4. layui-form下隐藏元素的验证问题

    1.情景: 设置为display:none的必填字段,在点击提交(form 包含 class="layui-form":button包含属性 lay-submit)的时候,依旧验证 ...

  5. 题解【洛谷P1938】 [USACO09NOV]找工就业Job Hunt

    题面 题解 将路径连边\((x, y, d)\) ,将航线连边\((x, y, d - w)\).其中线路是从\(x\)到\(y\),航线的费用为\(w\),\(d\)的含义如题面. 跑一遍\(SPF ...

  6. Day4 注解 泛型

    注解是什么 注释是绑定到程序源代码元素的元数据,对它们运行的​​代码的操作没有影响. https://blog.csdn.net/SDDDLLL/article/details/93509699 他们 ...

  7. centos useradd 命令详解

    useradd 命令 Usage: useradd [options] LOGIN useradd -D useradd -D [options] Options: -b, --base-dir BA ...

  8. 每天进步一点点------Allegro中SYMBOL种类

    Allegro 中SYMBOL 种类在Allegro 中, Symbol 有五种, 它们分别是Package Symbol .Mechanical Symbol.Format Symbol.Shape ...

  9. MaxM2引擎各种人物触发脚本

    捡起物品触发@PickUpItem[@PickUpItem]#if#actSENDMSG 5 [%s]在[%m(%x,%y)]捡起物品[<$STR(E2)>] 精炼成功触发@REFINEM ...

  10. Hibernate知识点整理

    一, Hibernate 介绍: Hibernate 只是一个将持久化类与数据库表相映射的工具,每个持久化类实例均对应于数据库表中的一个数据行而已.用户只需直接使用面向对象的方法操作此持久化类实例,即 ...