スパイスラボ神部です。
改めて、CakePHP の自動ログインの実装について調べてみました。
自動ログインさせるためには、Passports テーブルを作って活用しよう!
フォームのオートフィルに関しては、Cookie による保存に加え最近はブラウザ自身がフォームマネージャを備えていますが、自動ログインとなるとオートフィルだけではなくて、ログインチェックとその後のページ遷移も面倒をみてあげなくてはいけないのがポイントです。
方法のひとつとしてユーザテーブルとは別途、Passport を格納するようなテーブルを用意市、一定期間自動ログインに関する「パスポート」を発行するという方法があるようです。
具体的なやり方について調べてみる
-$user=$this->Auth->user(); $this->__passportDelete($user); ・・・ここが一番分かりました。
-CakePHPのAuthComponent実装+ブラウザ閉じても認証保持 | 陽のあたらない美術館 -人間再生-
-"amazonみたいな自動ログイン 初心者向け(?)" フォーラム - CakePHP Users in Japan
パスワードの再入力確認やメールでの通知をかんたんに
-【CakePHP】AuthComponentについてのまとめ その2【ちょっとしたコツ編】 | ねねとまつの小部屋 ・・・ついでにこれも。$this->Auth->password($pass) で $pass をハッシュ化できます。確認用パスワードとの一致確認などに使えます。
なお、上記では Param という別のモデルで受け取ることを提案していますが、単に $data['User']['password'] となっているところを $data['User']['password1'] とするだけで暗号化は解除されます。さらに確認入力を $data['User']['password2'] としすれば比較も簡単ですね。 DBに格納するときは、$this->Auth->password($data['User']['password1']) としてハッシュ化することも忘れないように気をつけたいです。
この情報は役に立ちましたか?
関連記事


