我正在创建一个使用 SiteUsers 控制器中的登录方法的插件,但我收到错误消息:
调用未定义的方法 SiteUsersController::_doLogIn()
插件站点用户控制器:
class SiteUsersController extends AppController {
public $name = 'SiteUsers';
/**
* login_competition
*
*/
public function login_challenge() {
$this->autoRender = false;
if (!$this->_doLogIn($this->request->data['SiteUser'])) {
$this->Session->setFlash('ERROR');
}
}
$this->redirect('/');
}
}
主应用程序中的站点用户控制器
class SiteUsersController extends AppController {
public $name = 'SiteUsers';
/**
* _doLogIn()
*
* @param unknown_type $data
* @return string|string
*/
protected function _doLogIn($data) {
$this->_user = $this->SiteUser->getUserByEmailPassword(Sanitize::clean($data));
if (!empty($this->_user)) {
$this->Session->Write('SiteUser.id', $this->_user['SiteUser']['id']);
$this->Session->Write('SiteUser.first_name', $this->_user['SiteUser']['first_name']);
$this->Session->Write('SiteUser.username', $this->_user['SiteUser']['username']);
return true;
}
return false;
}
}