0

http://book.cakephp.org/2.0/en/core-libraries/components/authentication.html#accessing-the-logged-in-user

有人可以帮我理解这一点。

AuthComponent::user()方法只返回有关用户的一些基本信息,而不是实际的 User 对象本身。

来自rails,我习惯了一个满载的current_user物体

如果我想要类似的东西,我应该做一个

$this->User->id = AuthComponent::user('id')

并使用它?或者是否已经有我可以使用的内置方法。

提前致谢。

4

2 回答 2

2

如果您在链接的文档中向下滚动一点,您会看到从 CakePHP 2.2 开始,您现在可以Containable在 Auth 设置中使用,因此您可以执行以下操作:

public $components = array(
    'Auth' => array(
        'authenticate' => array(
            'Form' => array(
                'fields' => array('username' => 'email'),
                'contain' => array('RelatedModel', 'RelatedModel')
            )
        )
    )
);
于 2012-07-04T13:27:58.610 回答
0

我最终做了这样的事情

# load current_user
$this->loadModel('User');
$this->User->id = AuthComponent::user('id');
$user = $this->User->read();
$this->set('current_user',$user);
于 2012-07-26T00:17:07.197 回答