@jamesk

Правильная система видимости контента для пользователя mysql + php?

Добрый день, стоит задача дописать существующий микро crm написанный на php + mysql. Необходимо ограничить видимость контента для пользователей, т.е. если в карточке юзера повесили что он видит только заявки из костромы, то остальные для него не отображаются и связанный контент с этими заявками он так же не видит. Система через pdo просто делает запросы в бд, какой архитектурный подход в данном случае самый правильный?
Я кроме того, чтобы исправить каждый запрос к каждому объекту в скриптах не нашёл, поэтому вышел с вопросом на площадку.
Просто смущает, что даже глобальный поиск по системе необходимо модернизировать, чтобы пользователь не видел лишнего.
  • Вопрос задан
  • 132 просмотра
Пригласить эксперта
Ответы на вопрос 2
rim89
@rim89
программист-велосипедист
Если вся система написана без разделения прав, то не исключено, что надо будет везде править.
Как делается ? - У юзеров колонка с ID группы доступа. Таблица групп с правами доступа к контроллерам определенным.
И в каждом контроллере проверка - если ли у этого ID доступ или нет.
Ответ написан
Комментировать
@jamesk Автор вопроса
есть отдельная таблица где есть соответствие uid - city_id.
у заявок есть таблица id_заявки = city_id.
у заявок есть например тысяча объектов у которых соотношение Id_объекта = id_заявки.
Вроде бы найти все запросы которые запрашивают заявки реально и туда встроить запрос.
Но вот каждый запрос на объект из бд, это кажется довольно непродуктивно.
Плюс есть опасения что проверка на доступ в абсолютно каждом запросе затормозят систему. Так же есть юзеры без ограничений на город, т.е. запрос усложняется.
Уже приходят дикие мысли создать промежуточную таблицу где хранить отношения юзера к каждой таблице системы и наполнять её с помощью триггеров, но так же придётся модернизировать каждый запрос, но скорость будет выше...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы