所以能够创建用户,没问题。我想添加一个确认代码来验证用户的电子邮件。我能够让应用程序向具有链接的用户发送电子邮件。一个用户点击该链接就会更新数据库。这是问题,这只有在用户注销时才有效。当他们登录时似乎没有任何事情发生。我不想在他登录之前强制新用户注销并验证。无论如何,这是我的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('/');
}
}
我只是向您展示创建和确认方法。如果您需要更多代码,请告诉我。但是,我相信我的问题可能来自此代码。谢谢你的帮助
答案 0 :(得分:1)
AuthController
将guest
中间件应用于除logout
之外的所有方法。检查构造函数。来宾中间件将经过身份验证的用户重定向。