@kvninbox

PHP Yii2 Framework — пользователи & расширение User модели / extend User model?

Всем привет,
Вопрос по best practice Yii2 Framework - или как лучше сделать?

1. есть веб-проект на базе advanced-template , в нем 2 типа юзеров:
1.1. админы (админы, манагеры, модеры) - для них сделал отдельную модель SystemUser, прицепил к ней RBAC - все работает - роли, юзеры, CRUD-admin к ним - @backend отрабатывает.

1.2. Юзеры сайта frontend : гость, ученик (обычный юзер), учитель (тоже обычный, но тип юзера другой, у него другой будет личный каб) - таких юзеров планировал оставить в рамках стандартной модели User.php, которая идет с темплейтом.
Но для обычных сайтовых юзеров мне нужно чтобы регистрация была не по логину, а по емейл+пароль, добавить поля типа "аватар, о себе и другие текстовые", добавить подтверждение регистрации по емейл и подобные стандартные фичи

2. Так вот нужен консалт на уровне - как правильно сделать?
2.1. оставить системых юзеров отдельно, и ручками расширить User.php? как то не рационально вроде тратить время на давно известные вещи
2.2. оставить системных юзеров и для веб юзеров поставить модули, расширяющие их?
вот тут вроде пару популярных:
https://github.com/yii2mod/yii2-user
https://github.com/dektrium/yii2-user
Там вроде большая часть есть функционала уже есть. Если так лучше, то какие модули более популярны?

2.3. снести все нафиг по юзерам, поставить какой то из модулей и хранить всех юзеров в одной таблице? Если та, то вопрос по модулю - какой лучше?

2.4. Свой вариант архитектурного решения, рекомендации и т.п.
  • Вопрос задан
  • 150 просмотров
Пригласить эксперта
Ответы на вопрос 1
@BorisKorobkov
Web developer
1. Зачем разные таблицы юзеров в зависимости от группы? Правильнее всех юзеров хранить в одной таблице + RBAC.

2. Рекомендую использовать https://github.com/dektrium/yii2-user
2.1. Доп. поля - в таблице Profile. Кстати, многое там уже есть
2.2. Авторизация по email+пароль и через соцсети тоже работает из коробки
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
от 70 000 до 120 000 руб.
от 60 000 до 90 000 руб.
Max.Credit Санкт-Петербург
от 150 000 до 150 000 руб.
15 авг. 2018, в 01:47
30000 руб./за проект
15 авг. 2018, в 01:09
70000 руб./в месяц
14 авг. 2018, в 22:43
350 руб./за проект