繁体   English   中英

CakePHP 3.x-用户身份验证组件包含表吗?

[英]CakePHP 3.x - User auth-component contains table?

我正在使用CakePHP的Auth组件获取用户登录数据,并希望将users_table与user_details表关联。 关联有效,如果我手动使用户退出,则可以正常工作,但是登录用户时是否可以在关联表中加载auth-component? 到目前为止,我还没有运气尝试过这个:

$this->loadComponent('Auth', [
        'authorize' => ['Controller'],
        'authenticate' => [
            'Form' => [
                'fields' => [
                    'username' => 'email',
                    'password' => 'password'
                ],
                'contain' => ['user_details']
            ]
        ],
        'loginAction' => [
            'controller' => 'users',
            'action' => 'login'
        ]
    ]);

注意“包含”部分-那是我尝试加载关联表但没有运气的地方吗?

谢谢。

包含已弃用,改为使用“查找器”

因此在用户表中定义一个查找器

public function findDetails($query, array $options)
{
    return $query
        ->contain(['UserDetails']);
}

并在AppController中

$this->loadComponent('Auth', [
    'authorize' => ['Controller'],
    'authenticate' => [
        'Form' => [
            'fields' => [
                'username' => 'email',
                'password' => 'password'
            ],
            'finder' => ['details']
        ]
    ],
    'loginAction' => [
        'controller' => 'users',
        'action' => 'login'
    ]
]);

https://book.cakephp.org/3.0/zh-CN/controllers/components/authentication.html#customizing-find-query

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM