Система управления доступом PHP

Вы можете привести колонны к varchar, например. литье (col как varchar (50)). пробел не может быть преобразован в числовой.

8
задан Vinayak 23 October 2008 в 05:52
поделиться

4 ответа

Я был в аналогичной ситуации несколько месяцев назад. Я нашел, что инструменты как Zend_ACL работают отлично, если Вы просто проверяете уровень доступа к единственному объекту (или довольно небольшое число их). Это перестало работать, когда необходимо получить огромный список объектов, пользователю разрешают получить доступ. Я обработал настраиваемое решение к этой проблеме с помощью Бизнес-шаблона Делегата. BD обеспечивает бизнес-логику, которая может быть применена в определенном контексте. В этом сценарии логика SQL поставлялась и использовалась в качестве фильтрации условия в подвыборе. См. следующие схемы:

alt text
(источник: epsi.pl)

И диаграмма последовательности, которая иллюстрирует порядок вызовов:

alt text
(источник: epsi.pl)

Я вел блог об этом решении, к сожалению, это - все на польском языке, но можно найти части кода и схем удобными. Что я могу сказать, реализация не является куском пирога, но мудрый производительностью, это - чемпион по сравнению с повторяющейся проверкой доступа каждый элемент в списке. Кроме того, инфраструктура выше обрабатывает не только один тип объектов в списке. Это может служить при доступе к различным спискам, быть этим список городов, стран, продуктов или документов пока объекты на реализации списка IAuthorizable интерфейс.

12
ответ дан 5 December 2019 в 12:14
поделиться

Не знайте о деталях своей проблемы, но Платформа Зенда имеет довольно мощный ACL и набор AUTH компонентов, на которые можно хотеть посмотреть. Хороший материал как очень точное управление доступом, храня данные для постоянства, усовершенствовал условные правила.

1
ответ дан 5 December 2019 в 12:14
поделиться

Если Вы не знаете, как сделать это, я использовал бы php платформу как Платформа Зенда, CakePHP или Симфония. Они сделали тяжелый подъем для Вас и уже имеют некоторый тип схемы управления доступом на месте.

0
ответ дан 5 December 2019 в 12:14
поделиться

Мне как то, кажется, в чем Вы нуждаетесь, это: (Я буду использовать пример страны/состояния/города),

  1. Список всех стран. Каждая "страна" имеет идентификатор.
  2. Список всех состояний в странах. Каждое состояние связывается с идентификатором страны, но также и имеет свой собственный уникальный идентификатор.
  3. Список всех городов. Каждый город связывается или с состоянием, или с непосредственно в страну, и имеет флаг для указания который.

Для городского пользователя, очевидно, ищите и отобразите только те записи, имеющие отношение к городу, который соответствует их идентификатору. Для государственного или национального уровня, хотя, ищите все записи, имеющие отношение к каждому городу, который имеет идентификатор, соответствующий той стране (или состояние или что имеет Вас).

Так в основном каждая sub группа является иждивенцем на группе выше его, и хотя я не вспоминаю правильно, я полагаю, что можно использовать запросы sub для добиваний цели оттуда.

1
ответ дан 5 December 2019 в 12:14
поделиться
Другие вопросы по тегам:

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