忘记密码表格 - Yii2 - 基本

时间:2016-07-14 12:47:14

标签: email yii2 forgot-password

我需要一个线索,如何发送一封忘记的电子邮件"表格"将代码发送给某个用户(电子邮箱),当他点击"代码"为了重置密码,他正在重定向到网站,然后他更新了他的忘记密码" ,我在" site"中创建了forget.php页面。文件夹,但有人可以给我一些线索SiteController等等中的逻辑。

forgot.php (忘记密码的表单)

<h1><?= Html::encode($this->title) ?></h1>
<?php $form = ActiveForm::begin(); ?>
  <?= $form->field($model, 'email') ?>
  <div class="form-group">
    <div class="col-lg-offset-1 col-lg-11">
      <?= Html::submitButton('Submit', ['class' => 'btn btn-primary'])?>
    </div>
  </div>
  <div>
<?php ActiveForm::end(); ?>

1 个答案:

答案 0 :(得分:0)

在控制器中:

  1. 通过上述电子邮件表格isExist中的电子邮件通过db检查db中的用户。
  2. 存在->生成reset_token +时间戳,并将电子邮件发送给用户link + token + timestamp + email
  3. 用户访问链接,显示新密码和重复密码的表格。但是您需要按时间(例如30分钟)设置令牌有效性。
  4. 如果令牌有效,则用户可以更改密码。否则,请再次重定向到页面重置