CakePHPのAuthコンポーネントでメールアドレス&パスワード認証にする

標準ではusername, passwordで認証する形になっているAuth componentですが、ログインする際にメールアドレスを使った方が忘れにくい上、打ち間違いが少なくユーザーにとって良いと思います。
Auth コンポーネントの変数を設定する :: 認証 :: 主要なコンポーネント :: マニュアル :: 1.3コレクション

app/controllers/users_controller.php

<?php
function beforeFilter(){
        //認証に使うペアをemail, passwordに変更
        $this->Auth->fields = array(
            'username' => 'email',
            'password' => 'password'
        );
    }

app/views/users/login.ctp

<?php
if  ($session->check('Message.auth')) {
    $session->flash('auth');
}

echo $form->create('User', array('action' => 'login'));
echo $form->input('email'); //変更部分
echo $form->input('password');
echo $form->end('Login');

app/views/users/register.ctp

<?php
echo $form->create('User');
echo $form->input('email'); //変更部分
echo $form->input('username');
echo $form->input('password');
echo $form->input('password_confirm', array('type' => 'password'));
echo $form->end('Register');