Как каждый пользователь может принадлежать к организации, имея личные данные с помощью Laravel Nova?

Я хочу использовать Laravel Nova для своей CRM. Я хочу, чтобы пользователь мог зарегистрироваться и добавить своих пользователей в свою организацию или разрешить пользователям присоединяться к организации. Каждая организация будет иметь свои собственные данные и должна быть частной для каждой организации.

Как лучше всего это сделать, поскольку Nova по умолчанию предоставляет всем пользователям доступ ко всем данным?

С не-Laravel я бы сделал что-то вроде:

Users Table
===========
user_id

Organization Table
==================
org_id

Organization Members
====================
org_id
user_id

person MichaelICE    schedule 16.04.2020    source источник
comment
Не использовал Nova, но разве это невозможно с помощью политик ?   -  person Tpojka    schedule 16.04.2020


Ответы (1)


Политики Laravel - это один из ваших вариантов. На мой взгляд, в Laravel Nova использования одних политик недостаточно для управления всеми вашими разрешениями на платформе, которую вы создаете. Рассмотрите возможность использования любого пакета nova (или создания собственного) для управления разрешениями и ролями. Вот один из самых популярных пакетов: https://novapackages.com/packages/silvanite/novatoolpermissions

person Daniel Petrovaliev    schedule 16.04.2020