CakePHP上に構築されたいくつかの小さなウェブサイトを管理するためのシンプルなCMSを作成しました。プラグインを1.3から2.0に正常に移行した後、Cakeを最新バージョン2.1.2に更新した後、AuthComponentで問題が発生しています。
アプリケーションはほとんどのテーブルをプラグインと共有するため、プラグインのクラス名には、クラス名の重複を避けるためにすべてプラグインの名前が接頭辞として付けられます。UsersController
そのため、メインアプリケーション用とPluginNameUsersController
CMSプラグイン用(またはaPostsController
とa )がある場合がありPluginNamePostsController
ます。$useTable
プラグインモデルは、正しいデータベーステーブルを見つけることに依存しています(したがって、PluginNamePostsController
引き続きを使用しますposts
)。
Cakeの2.1。*ブランチにアップグレードしてから、を参照する代わりにAuthComponent
存在しないpluginname_users
テーブルを想定しているため、は機能しなくなりましたusers
。
のカスタムテーブルを定義することは可能ですか、AuthComponent
それともこれを機能させる他の方法はありますか?また、この動作は予想されますか?
コンポーネントは次のように構成さPluginNameAppController
れています。
public $components = array(
'Session', 'RequestHandler',
'Auth'=> array(
'loginAction' => array(
'controller' => 'pluginname_users',
'action' => 'login',
'plugin' => 'pluginname'
),
'loginRedirect' => array(
'controller' => 'pluginname_posts',
'action' => 'index',
'plugin' => 'pluginname'
),
'authenticate' => array(
'Form' => array(
'userModel' => 'PluginNameUser',
'fields' => array('username', 'password')
)
)
)
);