作为管理员,我想以另一个身份访问后台作为普通用户。
所以我在列表中选择一个用户并将其提交给我的控制器。
我尝试了以下代码,但我从未访问过目标网址,我收到HTTP代码302,如果我尝试访问网址,没有任何用户登录。
有什么问题?
$id = $this->Auth->user('id');
$user = $this->Users->get($this->Auth->user('id'));
if (($user['role'] == 'admin') && (!empty($this->request->data))) {
$id = $this->request->data['id'];
if (!$this->Users->exists($id)) {
throw new NotFoundException(__('Invalid User'));
}
$user = $this->Users->findById($id);
$this->Auth->setUser($user->toArray());
return $this->redirect([
'controller' => 'Owners',
'action' => 'account',
'prefix' => 'pros'
]);
}
答案 0 :(得分:1)
Oups,我发现了我的愚蠢错误:
$user = $this->Users->findById($id)->first();