在我的 AppController 我有这个设置
public $components = array(
'Acl',
'Auth' => array(
'authorize' => array(
'Actions' => array('actionPath' => 'controllers')
)
),
'Session',
'DebugKit.Toolbar'
);
在我的用户模型中,我没有“用户名”字段,我有“电子邮件”,所以我将 $components 配置更改为:
public $components = array(
'Acl',
'Auth' => array(
'authorize' => array(
'Actions' => array('actionPath' => 'controllers')
),
'authenticate' => array(
'Form' => array(
'fields' => array(
'username' => 'email', 'password' => 'password'
)
)
)
),
'Session',
'DebugKit.Toolbar'
);
这样,我不会收到错误“模型没有字段'用户名'”,但我的登录被拒绝。所以我切换回以前的配置,改变了表格
ALTER TABLE users CHANGE COLUMN username email VARCHAR(45) NOT NULL UNIQUE;
它有效..那么我以前的配置有什么问题?