0

Cakephp 2.1 で Forgotten password 関数を作成するプロセスに頭を悩ませようとしています。これが私がしたいことです。

  1. ユーザーがパスワードを忘れた場合のリンクをクリックする
  2. メールアドレスを入力
  3. Cakeはメールが存在することを確認します
  4. その場合、何らかのランダムな文字列が URL に追加されたリンクが送信されます。
  5. リンクをクリックして、新しいパスワードを入力します。
  6. データベースのパスワードが更新されます
  7. ユーザーはログインできます

この投稿を見つけましたが、誰かがサンプルコードを提供してくれることを願っていました。

よろしくお願いします

4

1 に答える 1

1

私は最近、個人的なプロジェクトでこのようなことをしました。最善の解決策ではないかもしれませんが、これが私のプロセスです。

  1. ログインしていないユーザーは、「パスワードの回復」フォームで電子メールを送信します。
  2. コントローラーは、電子メールの所有者がいる場合はコードを生成し、それをユーザー モデルの専用列に保存します。次に、コード化されたリンクを電子メールに送信します。このリンクには、ユーザー ID と生成されたコードの両方が含まれています。
  3. ユーザーは自分の電子メールにアクセスし、リンクをクリックします。
  4. コントローラーはパラメーターを受け取り、それをコードと ID に分割し、ユーザー ID を読み取ってコードが一致するかどうかを確認し、一致する場合は新しいパスワード フォームを表示し、一致しない場合はコードをクリアし、ユーザーにプロセスの再起動を依頼します。

ノート。

  • ユーザー ID には uuid を使用し、コードには長さ 10 のランダムな文字列を使用します。両方を「_」で結合して、コードを電子メールに送信します。
  • 私の実装では、コードは期限切れになることはありませんが、ユーザーがログオンしたり失敗したりした場合 (おそらく推測による)、コードはクリアされます。
于 2012-08-08T18:26:39.260 に答える