FuelPHP のコマンドラインで利用者アカウントの作成・パスワード変更・リセット方法



FuelPHP では oil や migration, SimpleAuth といった仕組みがあるのでユーザー認証まわりは実装しやすいのですが、初期状態ではログインユーザーがいないためログインできません。

よく開発当初だけ oil のコンソールを使ってコマンドラインで利用者を追加するのですが、すぐ忘れるので書いておきます。

アカウントの追加 (Xampp 編)

以下は Windows の Xampp 環境で行ないました。(Xampp が C:\xampp にインストールされている場合を想定していますので、異なる場合は読み替えてください。)

これでコンソールに入ります。ここで Auth::create_user を実行します。

1という結果が出たらデータベースのログインユーザーのテーブルにレコードが追加されています。

パスワードの変更

コンソール上から Auth::change_password を使ってパスワードの変更も可能です。

このコマンドを使うケースは旧パスワードもわかっている場合に限ります。

パスワードをリセットしたいとき

さて、旧パスワードがわからない場合は Auth::change_password では変更できません。また、パスワードがわかっていても config/simpleauth.php の login_hash_salt の値を後から変えるとパスワード変更できなくなります。以前のパスワードを指定しても salt が違っているためデータベースに格納されたハッシュ値と合わなくなるためです。

FuelPHP にはランダムなパスワードに設定する Auth::reset_password というメソッドが用意されています。ただし指定したパスワードには設定できません。

そこで、Auth::change_passwordAuth::reset_password を組み合わせて使います。まずランダムなパスワードにリセットして、次にランダムなパスワードを使って指定したパスワードに再設定します。

開発時には便利な機能だと思います。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  • キュア子の紹介

人気記事ランキング