我做了什么
我使用 Cookbook 的这一部分来创建我的身份验证: Link 完成后,我将字段更改为电子邮件和密码(在 AppController.php 中):
public function beforeFilter() {
$this->Auth->allow('index');
$this->Auth->fields = array('username' => 'email', 'password' => 'password');
}
发生了什么
登录表单总是说我的密码/电子邮件组合不正确。经过一段时间的搜索和尝试,我在 UsersController 的 login() 函数中的 Auth->login() 参数中添加了“$this->request->data”:
public function login(){
$this->layout = 'login';
if ($this->request->is('post')){
if ($this->Auth->login($this->request->data)){
$this->redirect($this->Auth->redirect());
} else {
$this->Session->setFlash(__('Ongeldig email adres of wachtwoord. Probeer het AUB opnieuw'));
}
}
}
这有效,但现在我不能使用“$user['id']”来获取登录用户 ID。它说它不知道 $user 变量。
我期望发生的事情
首先,它应该在没有我添加参数的情况下让用户登录。其次,它应该打印了登录用户的 ID。
我希望有人可以帮助我解决这个问题。提前致谢!