ホームページ >PHPフレームワーク >Laravel >Laravel パスワードを忘れた

Laravel パスワードを忘れた

WBOY
WBOYオリジナル
2023-05-20 17:26:07857ブラウズ

Laravel は人気のある PHP Web フレームワークであり、Web 開発者によって選ばれる好ましいフレームワークの 1 つとなっています。 Laravel は開発と更新を続けるにつれて、より多くの機能とより良いユーザー エクスペリエンスを提供し続けます。 Laravel のパスワードを忘れた場合の機能は、ユーザーがメールでパスワードをリセットできるため、最も人気のある機能の 1 つです。この記事では、Laravel のパスワードを忘れた場合の機能について、セットアップ方法やカスタマイズ方法、アプリケーションでの使用方法などを含めて説明します。

1. パスワードを忘れた場合のプロセス

パスワードを忘れた場合の機能の設定方法を説明する前に、まずその基本的なプロセスを理解しましょう。 Laravel では、パスワードを忘れた場合のフローには通常、次の手順が含まれます。

  1. ユーザーは、パスワードを忘れた場合のページに移動し、電子メール アドレスを入力します。
  2. アプリケーションは、電子メール アドレスがユーザーに関連付けられているかどうかを確認します。
  3. 電子メール アドレスがユーザー データベースに存在する場合、アプリケーションはパスワード リセット情報を含むリンクを生成し、そのリンクをユーザーの電子メール アドレスに送信します。
  4. ユーザーがリンクをクリックすると、パスワード リセット フォームを含むページが表示されます。
  5. ユーザーは新しいパスワードを入力し、フォームを送信します。
  6. アプリケーションは新しいパスワードをユーザー データベースに保存し、ユーザーをログイン ページにリダイレクトします。

2. パスワードを忘れた場合の関数を設定する

パスワードを忘れた場合の関数の基本的なプロセスを理解したところで、Laravel でパスワードを忘れた場合の関数を設定する方法を見てみましょう。

  1. 電子メールの構成

まず、アプリケーションの電子メールを構成する必要があります。 Laravel は、電子メール: .env ファイルを構成する便利な方法を提供します。 .env ファイルを開いて、次の構成を探します。

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=your-gmail-username
MAIL_PASSWORD=your-gmail-password
MAIL_ENCRYPTION=tls

上記の構成を独自の電子メール サーバー構成に設定します。 @example.com をデフォルトの送信者アドレスとして使用することも、電子メール サーバーで構成した有効なアドレスに設定することもできます。この構成には、適切な電子メール サービス プロバイダーの資格情報を指定する必要があることに注意してください。

  1. パスワード リセット コードの生成

次に、Laravel に付属するパスワード コントローラーを生成し、パスワード リセットに使用する必要があります。ターミナルで次のコマンドを実行します:

php artisan make:auth

このコマンドは、Laravel の認証コントローラーとビュー (リセット パスワード コントローラーとビューを含む) を生成します。完了すると、Laravel アプリケーションには次の機能が追加されます:

  • ログイン
  • 登録
  • パスワードを忘れた場合
  • パスワードをリセット
  1. パスワード リセット ビューのカスタマイズ

コントローラーとビューの生成が完了したら、カスタマイズすることができます。たとえば、ビューの外観を変更したり、ビューが実行するアクションを変更したりできます。これを行うには、resources/views/auth/passwords ディレクトリで必要なビュー ファイルを見つけてカスタマイズします。

  1. カスタム電子メール メッセージ

Laravel によってデフォルトで提供されるパスワード リセット電子メール メッセージは、特定のニーズを満たさない可能性があります。したがって、カスタマイズが必要になる場合があります。これを行うには、app/Http/Controllers/Auth/ForgotPasswordController.php ファイルを開き、sendResetLinkEmail() 関数で電子メール メッセージをカスタマイズします。次のようなコードを使用してメッセージをカスタマイズできます。

return $this->sendResetLinkFailedResponse($request, 'This is a custom message');

このコード行は、指定された電子メール アドレスに関連付けられたユーザーが見つからない場合に起動されます。カスタム メッセージを任意のメッセージに置き換えることができます。

3. アプリケーションでパスワードを忘れた場合を使用する

パスワードを忘れた場合の機能の設定とカスタマイズが完了したので、Laravel アプリケーションでこの機能を使用できるようになります。これを行うには、対応するルートをアプリケーションに追加する必要があります。これらのルートは通常、routes/web.php ファイルで定義されます。

以下は、routes/web.php ファイルからのパスワードを忘れた場合のルートの例です:

Route::get('forgot-password', 'AuthForgotPasswordController@showLinkRequestForm')->name('password.request');
Route::post('forgot-password', 'AuthForgotPasswordController@sendResetLinkEmail')->name('password.email');
Route::get('reset-password/{token}', 'AuthResetPasswordController@showResetForm')->name('password.reset');
Route::post('reset-password', 'AuthResetPasswordController@reset')->name('password.update');

これらのルートでは、「Auth」は Laravel によって生成されたコントローラー パスです。独自のコントローラーとビューの名前に基づいて変更できます。

ルートをアプリケーションに追加したので、リンクを作成しましょう。次のコードをビュー ファイルに追加できます。

<a href="{{ route('password.request') }}">Forgot your password?</a>

ユーザーが上記のリンクをクリックすると、パスワードを忘れた場合のページに移動し、電子メール アドレスを入力してパスワードをリセットできます。

結論:

この記事では、Laravel のパスワードを忘れた場合の機能について説明しました。まずパスワードを忘れた場合の基本的なプロセスを理解した後、電子メールの構成、パスワード リセット コードの生成、パスワード リセット ビューと電子メール メッセージのカスタマイズによって、パスワードを忘れた場合の機能を正常にセットアップおよびカスタマイズしました。最終的に、それをアプリケーションで使用し、必要なルーティングとページ リンクに接続しました。 Laravel のパスワードを忘れた場合の機能を使用すると、アプリケーションのセキュリティとユーザー エクスペリエンスを簡単に強化できます。

以上がLaravel パスワードを忘れたの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。