PHP проверяет, что пользователь имеет доступ к контенту

0

Я ACL плагин ACL для своей рамки/приложения.

Предыдущие приложения ACL, с которыми я работал, имеют проверку controller/action означающую, что он проверяет, имеет ли пользователь доступ как к контроллеру, так и к виду.

Теперь во многих приложениях user может иметь доступ как к controller и к view но все же не имеет доступа к контенту.

Например:

user1 имеет доступ к controller: игры и view: играть, но не иметь доступа к id: 1

Моя первая идея состояла в том, чтобы проверить переменную $_GET но этого недостаточно, так как невозможно узнать, какую переменную ищет контент.

Итак, мой вопрос: как вы проверите, что пользователь имеет доступ к содержимому представления?

  • 0
    Почему у вас есть контроль доступа к представлению? Этот тип проверок должен полностью проходить в контроллере. (Пока мы говорим обычные MVC здесь.)
  • 0
    Не может быть ответа, кроме как в самых общих чертах. Очевидно, вы должны написать код, который знает, кто должен иметь возможность «просматривать» «виджет» с идентификатором «1», и вам нужно как-то вызывать его как часть обработки запроса.
Показать ещё 4 комментария
Теги:
security
acl

1 ответ

1
Лучший ответ

Ну, вы знаете идентификатор содержимого в своем контроллере, и вы знаете, что пользователь пытается получить к нему доступ. Просто добавьте contentId в свою процедуру проверки ACL? Вам просто нужно добавить больше данных ACL, текущая реализация с помощью только контроллера и метода в этих случаях недостаточна.

например $acl-> userIsAllowedTo ('view', 1, 'gamescontroller') или так далее.

  • 0
    Это может сработать, однако не всегда переменная $ _GET называется id и могут быть несколько переменных $ _GET. Чем бы я отличался?
  • 0
    О, я вижу - имя переменной может измениться. Знаете ли вы возможные имена переменных Id, входящих в get? Если нет, то нет ничего другого, кроме как стандартизировать входные значения.
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню