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. windows下使用make

    为了方便使用windows下的编辑器写代码并使用make命令,所以在windows上也安装make,教程如下 windows下使用gcc和g++需要安装MinGW32,如果已经安装过了,参考这里,然后 ...

  2. css实现移动端滚动条隐藏仍然可以滚动内容

    .g-panel { height: calc(100% - 112px); overflow: auto; &::-webkit-scrollbar { display: none; // ...

  3. 需要再次删除清空部署才能用rancher部署成功的是docker有问题

    需要再次删除清空部署才能用rancher部署成功的是docker有问题 待办 可以解释为什么一定要用特定的docker版本

  4. ClassLoad

    是什么 用来加载 Class 的.它负责将 Class 的字节码形式转换成内存形式的 Class 对象.字节码可以来自于磁盘文件 .class,也可以是 jar 包里的 .class,也可以来自远程服 ...

  5. 安装java jdk环境jdk1.8

    1) yum 安装java jdk 1.8 * -y 验证java [root@localhost local]# java -version openjdk version "1.8.0_ ...

  6. fdssd

    #include<stdio.h> #include<string.h> #include<math.h> #include<iostream> #in ...

  7. java is 和 == ,以及equal

    package string; public class MemAddrChange { public static void main(String[] args) { // const 常量区,

  8. php一些实用的自制方法

    时间戳转多久之前 function mdate($time = NULL) { $text = ''; $time = $time === NULL || $time > time() ? ti ...

  9. C/S编程

    https://blog.csdn.net/antony1776/article/details/73717666 实现C/S程序,加上登录注册聊天等功能. 然后要做个协议的样子出来. 比如说注册功能 ...

  10. html 中embed标签使用

    代码如下: embed src=url 说明:embed可以用来插入各种多媒体,格式可以是 Midi.Wav.AIFF.AU.MP3.PDF.jpg等等,Netscape及新版的IE 都支持.url为 ...