CakePHPはデフォルトだとコントローラと物理データベーステーブルのネーミングがある。例えばAdminControllerだと物理テーブル名をAdminsにしないといけない。
Authモジュールでモデル名を変更するには、Auth->userModelに利用します。AuthモジュールはデフォルトUsersテーブルを参照するようになっています。あと、cakePHPで生成されるmd5ハッシュ文字がMySQLで出力されるselect md5(‘test’)の結果と違うように思われる。
class AdminController extends AppController { |
public $uses = array ( 'AdminTbl' ); |
public $components = array ( 'Auth' ); |
Security::setHash( 'md5' ); |
$this ->Auth->authError = 'あなたはログインしていません。' ; |
$this ->Auth->userModel = 'AdminTbl' ; |
$this ->Auth->fields = array ( |
'username' => 'customer_id' , |
$this ->Auth->allow( 'login' ); |
$this ->Auth->loginRedirect = array ( 'controller' => 'program' , 'action' => 'index' ); |
モデルに$useTable を設定する必要がある。
class AdminTbl extends AppModel { |
var $useTable = 'admin_tbl' ; |
var $primaryKey = 'customer_id' ; |