データは更新されていても表示は変わらない・・・ id:hiromi2424 様からのコメントで他の方法があるそうなのでこちらもご覧ください。 私自身未検証ですが、かなり有力な情報であると思います。 CakePHPのAuthコンポーネントによるログインは 認証に成功するとユーザ情報をセッションに保存します。 保存したセッションは、$this->Auth->user()で取得可能です。 すごく便利なんですけど usersテーブルが更新されても、Cakeは自動的にセッションを更新しません。 その対策として、usersテーブルが更新された際に使える セッションを最新にする関数を紹介します。(自動ではないです // Auth.userのセッションを更新する function _update_session_auth_user() { $this->loadModel('User'); // User
注意 この実装はクッキーにユーザ名とパスワードを保持させていますが、パスワードを保持させるのは大変危険なので、実際のアプリケーションで動かす場合は時限つきAuthorizeトークンを発行してそれを保持させる実装にするなど、クッキー盗聴対応を必ずしましょう。 トークンを使う実装に修正しました。(16:25) この実装は、クッキー盗聴対策のため、トークンを発行し、それをクッキーに保存します。 CakePHPのクッキーコンポーネントは賢く、Security.ciperSeedというキーを元に復号可能な暗号化をクッキーに対し施しているため、直に読めることはないのですが、それでも解析されたら丸見えになります。これを避けるため、パスワードを直接保存することがないようにしましょう。 ワンタイムトークンを使う実装に修正しました。(18:51) いつも同じトークンを発行してしまうと、再生(リプレイ)攻撃の脆
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く