CakePHP 4 - 身份验证 - 如何更改默认用户模型?

CakePHP4 - Authentication - How to change default userModel?

我正在按照本教程使用 CakePHP4 设置身份验证 https://book.cakephp.org/authentication/2/en/index.html

存储我的用户的 table 不称为“用户”,所以当我尝试登录时它给我这个错误:

Base table or view not found: 1146 Table 'databasename.users'

在哪里可以指定 userModel?应该在哪个文件中设置?怎么样?

您必须相应地配置相应的解析器,在本例中为 ORM 解析器。

解析器由标识符使用,它通过 resolver 选项接受解析器配置。因此,例如对于密码标识符,您可以这样做:

$service->loadIdentifier('Authentication.Password', [
    'resolver' => [
        'className' => 'Authentication.Orm',
        'userModel' => 'YourCustomModelName',
    ],
    // ....
]);

注意传递解析器配置数组时也需要传递class名称,因为默认配置只是一个字符串(解析器class名称),所以不会与默认值合并,但覆盖它们!

另见