Я хочу расширить плагин пользователей, чтобы я мог удалить поле имени пользователя и настроить свою таблицу в соответствии с потребностями. Я видел документацию github для расширения плагина, но это мне мало помогает. Я попытался расширить UserTable.php, но выдает ошибку Неизвестный метод «зарегистрироваться». Пожалуйста, предложите лучший способ или простой код.
Как расширить плагин Cakedc Users для использования собственной таблицы в Cakephp 3
Ответы (1)
Проверьте эту среду cloud9, созданную специально, чтобы показать, как расширить модель и таблицу в качестве примера: https://ide.c9.io/steinkel/users-example-custom-table
- В примере используется пользовательская таблица my_users
- В примере используется пользовательский класс Table MyUsersTable, расширяющий таблицу CakeDC/Users.Users.
- Имейте в виду, что поле «имя пользователя» используется в SocialLogin и других функциях по умолчанию, если вы собираетесь удалить его, убедитесь, что вы настроили приложение так, чтобы оно полагалось на другое поле.
В основном изменения, сделанные для использования пользовательской таблицы:
- Создайте новую таблицу базы данных, соответствующую исходным полям, и добавляйте/удаляйте поля в соответствии с вашими потребностями.
- Создайте в своем приложении новый класс Table, расширяющий таблицу CakeDC/Users.Users.
- Переопределите необходимые методы, такие как проверка или средства поиска в классе таблицы.
Настройте свою таблицу в конфигурационном ключе «Users.table», как мы это сделали в «config/users.php».
$config = [ 'Users' => [ //Table used to manage users 'table' => 'MyUsers', ] ]; return $config;
И готово :)
person
steinkel
schedule
03.03.2017
Спасибо за подробное объяснение, но я не могу открыть clound9, потому что для этого нужна кредитная карта. Пожалуйста, покажите пример любым другим способом
- person Amit Dangwal; 03.03.2017
Вот полный исходный код › dl.dropboxusercontent.com/u/ 142951/cakedc-users-custom-table.gz
- person steinkel; 03.03.2017
Спасибо, это работает, можно ли не хранить пароль в таблице пользователей, хранить имя пользователя и пароль в другой таблице, а другие данные остаются в таблице пользователей, кроме поля пароля
- person Amit Dangwal; 04.03.2017
Да, это возможно. Самый простой способ — использовать таблицу пользователей для хранения имени пользователя и пароля, а затем настроить Auth для хранения дополнительных данных профиля.
- person steinkel; 06.03.2017
Я думаю, что срок действия обеих ссылок истек (cloud9/dropbox), к сожалению. И из любопытства, есть ли какие-либо текущие планы по размещению будущих плагинов авторизации/аутентификации Cake, поскольку Auth скоро станет устаревшим?
- person meder omuraliev; 06.04.2018
Да, мы работаем над интеграцией новых плагинов аутентификации и авторизации прямо сейчас, спасибо!
- person steinkel; 07.04.2018