CakePHP のAuthComponentは、ユーザー名とパスワードを含む Users テーブルがあることを前提としています。デフォルトのテーブル名をユーザーからアカウントにオーバーライドする方法を見つけたいと思います。
背景情報:
私がデータベースを設計した方法は、Users テーブルと Accounts テーブルを持つことです。
アカウント:
ID
ユーザーID
ユーザー名
パスワード
認証サービス (たとえば、自分のサイト、Facebook、Google、OpenIDなど)
ユーザー:
- ユーザーのすべての個人情報 (年齢、性別など) を持っているだけです。
その理由としては、
- 各ユーザーは、ログインできる複数のアカウントを持つことができるため、1 つにロックされることはありません。
- サードパーティのサービスをアカウントに接続して、さらに素晴らしいものにすることができます
さて、問題に戻ります....
CakePHP にはデフォルトのフィールド名の変更に関するドキュメントがありますが、デフォルトのテーブル名の変更については何も見つかりませんが、本質的には似ていると思います...
デフォルトのフィールド名を変更する例:
function beforeFilter() {
$this->Auth->fields = array(
'username' => 'username',
'password' => 'secretword'
);
}
これを達成する方法はありますか、それとも CakePHP の規則に従ってテーブルを再構築し、それでも同じことを達成する必要がありますか?