Всем привет.
Ситуация. Имеются сущности Клиент и Администратор.
У этих сущностей разные свойства. Да, есть общие - логин, email, пароль. Но все остальное разнится сильно.
Как вы в таких случаях применяете RBAC в Yii2 проектах?
Как вариант, можно сделать так:
Модель User с ссылками на Customer и Administrator. А при проверке прав передавать как раз ID модели User. но в плане проектирование это не совсем верно.
Второй вариант. Модель User не ссылается на другие модели, а вот Customer и Administrator ссылаются на User. Это мне нравится больше. Но в таком случае ID Customer и Administrator могут совпадать и проверке прав не получится.
Проектирование сущностей и RBAC
-
- Сообщения: 200
- Зарегистрирован: 2011.03.02, 21:11
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: Проектирование сущностей и RBAC
RBAC работает с Identity и ему всё равно, какой именно это Identity, лишь бы ID был уникален.
Нравится Yii? Давайте сделаем его лучше!.
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: Проектирование сущностей и RBAC
Если у вас PostgreSQL, сделайте общий Sequence для этих двух типов юзеров.
Нравится Yii? Давайте сделаем его лучше!.
-
- Сообщения: 200
- Зарегистрирован: 2011.03.02, 21:11
Re: Проектирование сущностей и RBAC
А вот насколько это верным будет? Ведь в таком случае, выходит, что мы предоставление доступов для разных сущностей мешаем в одну таблицу. К тому же, у меня планируется управление RBAC на морде в интерфейсе менеджера.
Хотя, никто мне не запрещает в табличку добавить поле с типом сущности для более гибкого управления.
Re: Проектирование сущностей и RBAC
Там только user ID используется..MaratCrash писал(а): ↑2017.09.11, 12:29Ведь в таком случае, выходит, что мы предоставление доступов для разных сущностей мешаем в одну таблицу.
https://github.com/yiisoft/yii2/blob/ma ... it.php#L94