0
如果用户在登录表单上输入他们的凭据,我可以登录用户。如果我尝试手动登录,我无法登录用户。真的很奇怪。CakePHP 3 - 无法手动登录用户
代码登录使用表单[这工作得很好]:
public function login() {
if ($this->request->is('post')) {
$user = $this->Auth->identify();
if ($user) {
$this->Auth->setUser($user);
return $this->redirect('/cars');
}
$this->Flash->error(__('Invalid username or password, try again'));
}
}
代码手动登录[这并不工作]:
public function loginManually()
{
try {
$user = $this->Users->find()
->where(['username' => '[email protected]'])
->contain(['Profiles'])
->firstOrFail();
$this->Auth->setUser($user->toArray());
return $this->redirect('/cars');
} catch (\Exception $ex) {
Log::write('error', $ex);
$this->Flash->error(__('An error occurred Please try again'));
}
return $this->redirect('/login');
}
在调试 - 代码工作罚款高达$this-Auth->setUser($user->toArray());
- 但是当我将它重定向到/cars
时,系统返回一个错误,指出用户没有登录。我很困惑 - 任何帮助表示赞赏。