CakePHP 3:如何在注册后自动登录用户

And*_*e S 2 cakephp cakephp-3.0

我正在尝试在注册后立即使用CakePHP 3登录用户,但我没有成功.这就是我在做的事情:

function register(){
    // ....
    if($result = $this->Users->save($user)){
        // Retrieves corresponding user that was just saved
        $authUser = $this->Users->get($result->id);

        // Log user in using Auth
        $this->Auth->setUser($authUser);

        // Redirect user
        $this->redirect('/users/account');
    }
}
Run Code Online (Sandbox Code Playgroud)

And*_*e S 9

我想发布这个问题让我眼前一亮.这就是我为了让它发挥作用所做的...如果有更好的方法,我很乐意改变它......

function register(){
    // .... Default CakePHP generated code

    if($result = $this->Users->save($user)){
        // Retrieve user from DB
        $authUser = $this->Users->get($result->id)->toArray();

        // Log user in using Auth
        $this->Auth->setUser($authUser);

        // Redirect user
        $this->redirect(['action' => 'account']);
    }
}
Run Code Online (Sandbox Code Playgroud)