【问题标题】:Cakephp: $this->Auth->user vs $this->User vs $userCakephp: $this->Auth->user vs $this->User vs $user
【发布时间】:2012-09-01 23:38:45
【问题描述】:

我意识到这可能不是一个明确的“问题/答案”问题,但我认为值得一问。

在控制器中,似乎有三个选项可以访问 Auth 对象:

$this->Auth->用户 $this->用户 $用户

它们每个都返回登录用户的记录,我看不出它们之间有什么区别。

现在,我突然想到,如果在关联模型 $this->Posts->User 中工作,$this->User 可能会有点混乱或不清楚。

但除此之外,这三个选项有区别吗?

【问题讨论】:

    标签: cakephp authentication controller


    【解决方案1】:

    $this->Auth->user() 从会话中返回当前经过身份验证的用户。

    $this->User 是一个模型,除非您使用会话数据(来自 Session 或 Auth 组件)来获取用户 ID,否则您将无法获取当前经过身份验证的用户。无论哪种方式,您都必须对每个请求进行查询以获取有关登录用户的信息。

    $user .. 只是一个变量。我不明白这是一个“访问 Auth 对象的选项”

    如果您想了解当前登录用户的信息,请使用$this->Auth->user();

    【讨论】:

      【解决方案2】:

      在 cakephp 2 中,您必须使用 AuthComponent::user($user_field) 来访问经过身份验证的用户数据,例如: 对于经过身份验证的用户 ID,您必须使用 AuthComponent::user('id')

      正如 tirang 所说,$this->User 是一个模型,$user 只是一个变量。

      【讨论】:

        猜你喜欢
        • 2011-12-20
        • 2013-12-15
        • 1970-01-01
        • 1970-01-01
        • 2015-01-07
        • 1970-01-01
        • 1970-01-01
        • 2010-11-03
        • 1970-01-01
        相关资源
        最近更新 更多