Invalid signature

ここは俺の日記帳

デフォルトとは違うモデルでの認証

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' => '任意のモデル名')
    )
)