@snchz

Какое архитектурное решение выбрать для ролей пользователей?

Доброго времени суток!

Пишу проект, внутригородской-маркетплейс

1) Внутренние роли компании - Администратор(1), Бухгалтер(2), Менеджер по логистике(3).

2) Роли поставщиков - Бизнесмен (тот кто продает свои услуги на маркетплейсе) (4)
Бизнесмен может создавать себе-подобные роли используя матрицу возможностей (permissions)
То есть в коде проверяются именно permissions для Бизнесмена.

3) Роли доставки - Курьер (5)
Может быть как создан компанией, так и Продавцом

4) Клиент (заказ, оплата товаров) (6)

Надеюсь достаточно понятно сгруппировал.
Так вот к сути. В моей голове сейчас возникла такая идея
Разнести вообще это все на 4 (ну или чуть компактней 3) разные таблицы, сделать 4 разных входа. (так как панели управление у ролей все-равно разные)
+Из плюсов
1) проще оперировать permissions внутри раздела Поставщиков.
2) Отделит Админов в отдельную группу.
3) Отделит Клиентов в отдельную группу (а значит любой поставщик по сути сможет иметь отдельный аккаунт клиента)

-Из минусов (это 4 разные таблицы)))

Хотелось бы услышать, это вообще адекватное решение в данной ситуации или лучше придерживаться стандартных практик и строить все полностью на permissions и их группировки в роли?
  • Вопрос задан
  • 158 просмотров
Пригласить эксперта
Ответы на вопрос 2
inoise
@inoise Куратор тега PHP
Solution Architect, AWS Certified, Serverless
Да какая разница как называются роли. Стоит прочитать про RBAC или ACL. Я не знаю что из них принято использовать в laravel. Я за первое
Ответ написан
SilenceOfWinter
@SilenceOfWinter Куратор тега PHP
та еще зажигалка...
думаю стоит начать с BDD тестов и подобные вопросы сами отпадут
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы