Authコンポーネントを使って、情報更新した時にセッション情報が新しくならない

今まで何度かログアウトしてログインさせることで対応せさせていたんですが、
ちゃんとしたサイト作ることになったので、考えなおしてみた。

<?php
function edit() {
    if ($this->data) {
        $this->User->set($this->data);
        if ($this->User->save($this->data)) {
            $user = $this->Auth->user();
            $user['User'] = array_merger($user['User'], $this->data['User']);
            $this->Session->write('Auth', $user);
        }
    }
}

こんな感じで更新が成功した場合に、セッションを上書きする。

今まで微妙すぎる対応してたな…。