デフォルトとは違うモデルでの認証
CakePHP v2.4.6
デフォルトと違う名前のモデルで認証を行おうとして躓いた。
認証に使われるモデルはデフォルトでは User だ。
調べると幾つか違った解法が見つかった。
・loginAction を設定する方法
http://stackoverflow.com/questions/21213629/userscontroller-could-not-be-found
・Auth の userModel を設定する方法
http://stackoverflow.com/questions/437911/how-do-i-use-a-table-other-than-users-for-cakephps-authcomponent
・Auth の authenticate を設定する方法
http://stackoverflow.com/questions/9929129/cakephp-authentication-component-using-a-different-table-name-and-column-name
試した結果、以下の様なコードで成功した(loginRedirect なども Auth に設定したが省略)。
'Auth' => array(
'authenticate' => array(
'Form' => array(
'fields' => array('username' => '任意のパラメータ名'),
'userModel' => '任意のモデル名')
)
)