ユーザー情報更新に成功してもAuthのセッションデータが更新される訳ではないらしい。
当たり前と言えば当たり前だが。
なので、更新時には、手動で更新する必要があり。
更新成功後にこれで!
$options = array( 'recursive' => -1, 'conditions' => array('id' => $this->Auth->user('id')) ); $user = $this->User->find('first', $options); $this->Session->write('Auth', $user);
今のAuthに入ってるユーザーIDから自分のユーザー情報を検索して、セッションに突っ込むという形。
他に
・ログアウトとログイン処理を裏で一気にやる。
・セッションの情報を取り出して、変更したデータだけをそっと差し替えでセッションに戻す。
といった方法があるらしいが、自分はどっちもエラー出まくってダメでした!