CakePHP3:如何以其他用户身份登录

时间:2016-12-21 09:56:21

标签: cakephp-3.0

作为管理员,我想以另一个身份访问后台作为普通用户。

所以我在列表中选择一个用户并将其提交给我的控制器。

我尝试了以下代码,但我从未访问过目标网址,我收到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'
        ]);

    }

1 个答案:

答案 0 :(得分:1)

Oups,我发现了我的愚蠢错误:

$user = $this->Users->findById($id)->first();