CakePHPの認証でパスワードを忘れた場合の処置

チュートリアルに従い、Authコンポーネントを使いパスワードをハッシュ化してデータベースに保存する実装の場合の手順を示します。

認証を一旦無効化し認証不要な状態でパスワードを登録した後、改めて認証を有効化する流れになります。

認証機能を無効化

【サイトのディレクトリ】/src/AppController.php内のAuthコンポーネントをロードする部分をコメント化します。

// authentication コンポーネントをロード
/*
$this->loadComponent('Auth',[
	'authenticate' => [
		'Form' => [
			'fields' => [
				'username' => 'email',
				'password' => 'password'
			]
		]
	],
	'loginAction' => [
	'controller' => 'Users',
		'action' => 'login'
	]
]);
*/

パスワードを再設定

ブラウザから、【サイトのURL】/users/index を開き、パスワードを変更したいユーザのeditをクリックします。その後、新しいパスワードを入力してボタンSubmitを押します。

認証機能を元に戻す

1.でコメント化したAuthコンポーネントをロードする部分を有効化します。