Laravel Jetstreamでユーザー登録やパスワードの更新・リセットを制限する方法


ふゅか
今日はLaravel Jetstreamでのユーザー登録やパスワードの更新・リセットを制限する方法についてみていこう!
1. Fortifyの設定ファイルの編集
Laravel Jetstreamは、認証機能を提供するFortifyパッケージに依存しています。Fortifyの設定ファイルであるconfig/fortify.php
を編集することで、不要な機能を無効にすることができます。

はるか
Fortifyの設定ファイル、config/fortify.phpを編集することで、特定の機能を無効にできる。
1.1. 設定ファイルの編集手順
- 設定ファイルを開くまず、
config/fortify.php
ファイルを開きます。 - featuresオプションを編集次に、
features
オプション内に記述されている機能のうち、無効にしたい機能をコメントアウトまたは削除します。以下は、ユーザー登録機能とパスワードリセット機能を無効にする例です。'features' => [ // Features::registration(), // Features::resetPasswords(), Features::emailVerification(), Features::updateProfileInformation(), //Features::updatePasswords(), Features::twoFactorAuthentication([ 'confirm' => true, 'confirmPassword' => true, // 'window' => 0, ]), ],
上記の設定では、
Features::registration()
がコメントアウトされているため、ユーザー登録機能が無効になります。また、パスワードリセット機能を無効にしたい場合は、Features::resetPasswords()
をコメントアウトします。パスワードの更新を無効にしたい場合は、Features::updatePasswords()
をコメントアウトします。
1.2. 注意点
- ユーザー登録の無効化:
Features::registration()
をコメントアウトまたは削除することで、新規ユーザーの登録が無効になります。 - パスワードリセットの無効化:
Features::resetPasswords()
をコメントアウトまたは削除することで、ユーザーがパスワードをリセットする機能が無効になります。 - パスワード更新の無効化:
Features::updatePasswords()
をコメントアウトまたは削除することで、ユーザーがパスワードを更新する機能が無効になります。

はるか
例えば、登録ページにアクセスしてみて、404エラーが表示されるかをチェックする。

http://127.0.0.1:8000/register
に移動すると、404 NOT FOUNDになっていることを確認できます。
PR