CakePHP4 - Аутентификация - Как изменить модель пользователя по умолчанию?

Я следую этому руководству, чтобы настроить аутентификацию https://book.cakephp.org/authentication/2/en/index.html с CakePHP4.

Таблица, в которой хранятся мои пользователи, не называется «пользователи», поэтому, когда я пытаюсь войти, она выдает мне эту ошибку:

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

Где я могу указать модель пользователя? В каком файле его настроить? Как?

🤔 А знаете ли вы, что...
Фреймворк поддерживает внедрение зависимостей (Dependency Injection) для управления зависимостями компонентов.


467
1

Ответ:

Решено

Вы должны соответствующим образом настроить соответствующий преобразователь, в данном случае преобразователь ORM.

Резолверы используются идентификаторами, которые принимают конфигурацию резолвера с помощью опции resolver. Так, например, для идентификатора пароля вы можете сделать это так:

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

Обратите внимание, что при передаче массива конфигурации распознавателя также необходимо передать имя класса, поскольку конфигурация по умолчанию — это просто строка (имя класса распознавателя), поэтому она не сольется со значениями по умолчанию, а перезапишет их!

Смотрите также