Я хочу создать ACL с группой и разрешением, где пользователь также может иметь множественный доступ. Мое приложение на основе Laravel & Mysql.
Группа является:
1. Отдел
2. Площадь
3. Сайт
Разрешение:
1. создать
2. обновить
3. просмотр
4. удалить
Например :
Роль ABC:
division | create | update | view | delete
division_a | x | x | x | x
division_b | | | x |
area | create | update | view | delete
area_a | | | x |
area_b | x | x | x |
site | create | update | view | delete
site_a | | | x |
site_b | | | x |
Вот схема, которую я создал:
разделение
id|division_name
Площадь
id|area_name|division_id
сайт
id|site_name|division_id|area_id
Таблица пользователей
id|name|email
Ролевая таблица
id|role_name|division_role|area_role|site_role
Таблица ролей пользователей
id|user_id|role_id
Пожалуйста, помогите мне, обсудив ваши лучшие практики для проектирования схемы или есть какие-либо пакеты laravel, которые я могу использовать для создания этого ACL?
Спасибо
Затем Ратнер изобретает велосипед. Я предлагаю вам попробовать spatie / Laravel-разрешение или же Вышибала пакет. Что очень выгодно.
Других решений пока нет …