Форум программистов, компьютерный форум, киберфорум
PHP: Laravel
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 12.01.2019
Сообщений: 10
1

Логика проверки ролей и прав

23.01.2021, 09:39. Просмотров 982. Ответов 2

Доброго времени суток профи и знатоки php и laravel.
Первый раз столкнулся с этим
На laravel сделал проект в котором отображается инфа о пользователях, которые разделены на центры, филиалы, отделы и группы, на поделок решил оставить права и роли пользователей.
Необходимо понять логику, к примеру дать пользователю право (далее определить роль) видеть определенные филиалы в своем центре, и соответственно все отделы и группы в данном филиале, но запретить видеть другие центры (кроме своего). Или дать право видеть определенные центры и т.д
Хочу использовать пакет spatie/laravel-permission. Подскажите пожалуйста решение данной проблемы.
P.S где правильно проверять права, в контроллере и вьюшке? Думаю глупо тянуть из базы все центры, если у пользователя не прав для их просмотра.
Буду благодарен за любую помощь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.01.2021, 09:39
Ответы с готовыми решениями:

Администрирование 1С. Настройка прав и ролей в 1С 8.2
Подскажите пожалуйста, с чего следует начать ,чтобы освоит и понять саму суть настройки прав...

Не работает разграничение прав на основе ролей
Не работает фильтр на роли(indentity 2.0) Использую перед методом , но доступа у пользователя к...

Установка прав для ролей ASP.NET mvc 5 Identity
Всем привет. Как можно реализовать добавление прав для ролей ? Т.е. пользователю устанавливается...

Разграничение прав доступа на методы. Несколько ролей для метода
public Report Show() { ... } public AddProduct(string name) { ... }

2
1704 / 1034 / 382
Регистрация: 13.06.2013
Сообщений: 3,508
23.01.2021, 12:38 2
Лучший ответ Сообщение было отмечено Talany как решение

Решение

Для начала нужно определиться, проверки будут захардкожены или пользователи сами смогут редактировать права. Если сами, то соответственно все нужно хранить в БД. У меня сложилось впечатление что вам с БД нужно.

Цитата Сообщение от Talany Посмотреть сообщение
дать пользователю право (далее определить роль) видеть определенные филиалы в своем центре
Я вижу это как связь role_id - filial_id. Ее нужно где-то хранить, т.е. отдельная табличка в БД.
И соответственно нужно проверять не просто наличие пермишена, но и вот эту связь.

Цитата Сообщение от Talany Посмотреть сообщение
где правильно проверять права, в контроллере и вьюшке?
И там, и там. Просто логика разная. Во вьюшке ты проверяешь логику отображения. В контроллере данные/действия.
Например ты можешь показать "список филиалов", но кнопку "добавить филиал" не показываешь. Это во вьюшке делается. Естественно сама логика проверки живет в другом месте (в модели например), во вьюшке просто вызывается что-то типа
PHP
1
2
if ($user->can('add_filial')) {
}
Цитата Сообщение от Talany Посмотреть сообщение
Думаю глупо тянуть из базы все центры, если у пользователя не прав для их просмотра.
Конечно, надо сначала получить ID доступных центров, а потом их вытянуть.
1
0 / 0 / 0
Регистрация: 12.01.2019
Сообщений: 10
23.01.2021, 13:49  [ТС] 3
Благодарю tarasalk,
То есть для каждого цента и филиала будут свои пермишины, связать role_id center_id и так же с филиалами
И получить какие центры и филиалы юзер может видеть и вытягивать только их....
Благодарю, буду обдумывать...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.01.2021, 13:49

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

Скрипт проверки и восстановления прав на папки (Linux)
Сразу скажу, что возможно это слишком с моей стороны, но я не понимаю как писать скрипты под линукс...

Клиент-сервер (Что такое бизнес логика и презентационная логика в архитектуре)
здравствуйте вот такой вопрос.Что такое бизнес логика и презентационная логика в архитектуре...

Логика предикатов (мат логика 2 задачи)
Здравствуйте! не особо понимаю данную тему по этому хочу чтобы кто-нибудь кто знает решил с...

Имена типов проверки в ненавязчивых правилах проверки должны быть уникальными?
Доброго времени суток! Подскажите пожалуйста встречалась ли вам эта ошибка - "Имена типов проверки...

Запуска утилиты проверки диска и вывод в файл статистики проверки
Очень нужна помощь


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.