Laravel 5.8:如何更改注册用户以在登录之前验证电子邮件

时间:2019-03-18 05:39:18

标签: php laravel

我使用php artisan make:auth和laravel MustVerify使成员系统正常工作。

我想从

更改laravel注册电子邮件验证系统

“注册->登录-> 验证电子邮件”到“注册->验证电子邮件->登录”

默认laravel验证系统为:

  1. 用户点击注册按钮后。

  2. 用户自动登录系统

  3. 显示验证页

我想要的是:

  1. 用户点击注册按钮。

  2. 用户必须先验证电子邮件,然后才能登录系统

我该怎么做。

2 个答案:

答案 0 :(得分:0)

我认为一种简单的方法是向用户添加一个名为activeverified的字段。如果用户未验证他们的电子邮件,则将不允许他们登录系统(这可以通过使用您自己的登录功能来轻松实现)。这样,用户在验证电子邮件并将该字段设置为true之前无法访问系统。如果您不想删除用户而宁愿停用它们,这也对以后有所帮助。

答案 1 :(得分:0)

在Http \ Controllers \ Auth \ RegisterController.php中,将此代码插入顶部

use Illuminate\Http\Request;
use Illuminate\Auth\Events\Registered;

并通过简单地将此代码写入您的RegisterController.php

来覆盖RegistersUsers特征中的 register 方法。
public function register(Request $request)
{
    $this->validator($request->all())->validate();

    event(new Registered($user = $this->create($request->all())));

    // $this->guard()->login($user);

    return $this->registered($request, $user)
                    ?: redirect($this->redirectPath());
}

注意注释的代码。这是用户注册后自动登录的地方。

答案Laracasts中已经提供

相关问题