【发布时间】:2017-05-07 06:49:56
【问题描述】:
我正在使用Laravel 5.3 创建一个小应用程序。我已经在 Laravel 的默认 Auth 上应用了用户激活(通过电子邮件确认)。但如果帐户/用户未通过验证电子邮件地址激活,我无法找到停止发送密码重置链接的方法。目前,如果用户创建了一个帐户并且没有验证他/她可以使用密码重置链接登录的电子邮件地址。
这是我在用户表中的内容
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name')->nullable();;
$table->string('username')->unique();
$table->string('email')->unique();
$table->string('company')->nullable();;
$table->string('password');
$table->boolean('activated')->default(false);
$table->rememberToken();
$table->timestamps();
});
Schema::create('user_activations', function (Blueprint $table) {
$table->integer('user_id')->unsigned();
$table->string('token')->index();
$table->timestamp('created_at');
});
}
更新 我试图通过更新以下函数来做到这一点。但它不起作用
public function reset(Request $request)
{
if (!$request->activated) {
return redirect('/');
} else {
$this->validate($request, $this->rules(), $this->validationErrorMessages());
$response = $this->broker()->reset(
$this->credentials($request), function ($user, $password) {
$this->resetPassword($user, $password);
}
);
return $response == Password::PASSWORD_RESET
? $this->sendResetResponse($response)
: $this->sendResetFailedResponse($request, $response);
}
}
【问题讨论】:
标签: laravel laravel-5.3