Как использовать несколько ролей пользователей в нескольких магазинах?

#permissions #roles #laravel-7 #laravel-permission

Вопрос:

У меня есть личный проект небольшого торгового веб-приложения, в котором есть пользователи и торговые магазины.

Пользователи могут иметь несколько интернет-магазинов. Они могут добавить больше торговых магазинов, если захотят, а также могут создать несколько пользователей с определенными ролями для каждого торгового магазина.

Как реализовать и назначить роль пользователя пользователю в конкретном магазине?

В настоящее время я использую разрешение Spatie Laravel. Назначение роли пользователю работает нормально и все такое из коробки, но может назначать роль пользователя только для всех торговых магазинов. Я читал о нескольких охранниках, но на самом деле это не то, что мне нужно. Теперь я застрял.

То, что мне нужно, — это:

  • Пользователь A-это Роль A с разрешениями A,B,C в хранилище A
  • Пользователь A-это Роль B с разрешениями A,B,C,D в магазине B
  • Пользователь A является ролью C с разрешениями C,D в хранилище C

В настоящее время пользователь А имеет одинаковую роль для всех торговых магазинов. Пользователь A, который предположительно имеет доступ только к хранилищу A, но, к сожалению, имеет доступ к хранилищу B. Все торговые магазины и пользователи находятся в единой базе данных.

Есть какие-нибудь идеи, ребята, я даже не уверен, что Spatie-это правильный пакет, который я должен использовать?