Я использую Laravel 5 для разработки приложения, и я хотел бы назначать роли и разрешения пользователям, использующим Zizaco/Entrust. Для лучшего понимания позвольте мне привести пример:Назначить разрешение пользователю, а не роли с использованием Entrust в Laravel 5
У меня есть 4 роли в моем db: guest, user, admin, owner. Владелец имеет полный доступ на панели администрирования и на главном сайте, администратор имеет ограниченный доступ к панели администрирования и полный на основном сайте, пользователи должны иметь пользовательский доступ на главном сайте, а гости не должны иметь доступа вообще (застряли на главной странице, пока не будет предоставлена роль пользователя).
Проблема, с которой я столкнулся, - это пользовательский доступ к пользователям. Имея 4 основные страницы, пользователи должны запрашивать разрешения для одного или нескольких из них. На главной странице они могут загружать файлы и делать некоторые другие вещи.
Что я хочу сделать, это дать им всю роль пользователя, но, например, пользователь А имеет разрешение на ТОЛЬКО просмотр страницы 1, будучи не в состоянии загрузить файлы или какие-либо другие вещи, пользователь B имеет разрешение на просмотр Страница 3 и Страница 4, загружайте файлы только на страницу 3 и делайте другие вещи, кроме загрузки файлов. Думаю, у вас есть картина.
Это можно сделать только с помощью Entrust, или я должен создать новую сводную таблицу между пользователями и разрешениями и работать с ней, чтобы выполнить то, что мне нужно?
Большое спасибо заранее,
Драгошу
Edit: Что я ранее думал только о том, что дает им множество ролей, таких как «зритель-к-странице-один», "uploader- to-page-one "," viewer-to-page-2 "и т. д., но тогда таблица разрешений будет совершенно бесполезна в моем db.
В заключение, что я хочу сделать, когда пользователь с правами только для чтения Page 1 и Page 2 бревен, я хочу следующие данные в сессии:
['id'->1,'name'->'user's name','email'->'users's email','role'->'user','permissions'->['view-page-1','view-page-2']]
Таким образом, он может только view Page 1 и Page 2, но не загружать файлы или что-либо еще.
И когда пользователь с точки зрения и загружать файлы разрешения на страницу 1 журналы, я хочу:
['id'->2,'name'->'user's name','email'->'users's email','role'->'user','permissions'->['view-page-1','upload-to-page-1']]
Таким образом, он может только просматривать страницу 1 и загружать файлы на странице 1.