用户的确认码不适用于Laravel 5.2

时间:2016-06-18 05:14:24

标签: php laravel laravel-5

所以能够创建用户,没问题。我想添加一个确认代码来验证用户的电子邮件。我能够让应用程序向具有链接的用户发送电子邮件。一个用户点击该链接就会更新数据库。这是问题,这只有在用户注销时才有效。当他们登录时似乎没有任何事情发生。我不想在他登录之前强制新用户注销并验证。无论如何,这是我的AuthController:

protected function create(array $data)
{
    $confirmation_code = str_random(30);

    $user = User::create([
        'name' => $data['name'],
        'email' => $data['email'],
        'password' => bcrypt($data['password']),
        'schoolid' => $data['schoolid'],
        'confirmation_code' => $confirmation_code,
    ]);

    Mail::send('emails.verify', compact('confirmation_code'), function($message) {
        $message->to(Input::get('email'), Input::get('username'))->subject('Verify your email address');
    });

    return $user;

}

 /**
 * Attempt to confirm a users account.
 *
 * @param $confirmation_code
 *
 * @return mixed
 */
 public function confirm($confirmation_code) {
    $user = User::where('confirmation_code', $confirmation_code)->first();
    $user->confirmed = 1;
    $user->confirmation_code = null;
    $user->save();
    return redirect('/');

}
}

我只是向您展示创建和确认方法。如果您需要更多代码,请告诉我。但是,我相信我的问题可能来自此代码。谢谢你的帮助

1 个答案:

答案 0 :(得分:1)

AuthControllerguest中间件应用于除logout之外的所有方法。检查构造函数。来宾中间件将经过身份验证的用户重定向。