Давайте вернемся к этой теме, хорошо ее закончить, и это довольно сложно в реализации. Давайте иметь смысл в вопросе, который у нас есть: Бен: Я не знаю вашего проекта, что происходит, но давайте создадим похожий сценарий, У нас есть сайт для гостей, клиентов, администраторов: Нам нужна таблица в нашей базе данных для сохранения ролей имен, и для каждой роли она имеет свои права
Roles (idRole, nameRole)
Permissions (We will speak about it later)
Скажем, может быть позже, нам нужно будет установить больше ролей для нашего приложения, поэтому мы установим страница администратора для назначения разрешений для каждой роли (например, Drupal и Joomla), одним из решений является поиск всех модулей, которые у вас есть на вашем приложения, затем получить контроллеры для каждого модуля и действия для каждого контроллера. , а затем мы должны указать Zend_Acl, чтобы установить наши роли из таблицы ролей в базе данных, а Ресурсы - это модули Zend-> Действия для каждого контроллера. Поэтому нам потребуется, таблицы для хранения всех модулей, и для каждого модуля нам потребуются контроллеры и действия
Modules (idModule, nameModule)
Controllers (idController, nameController, idModule_FK)
Actions (idAction, nameAction, descriptionAction, idController_FK)
Поле Описание будет получить его из описания действий, например
/**
* @description := Action to edit Roles
**/
public function editAction {}
Итак, теперь давайте нашу структуру базы данных
Roles (idRole, nameRole)
Permission (idRole, allowedPermission, idAction, dateTimeAssigned)
Modules (idModule, nameModule)
Controllers (idController, nameController, idModule_FK)
Actions (idAction, nameAction, descriptionAction, idController_FK)
Здесь не является общей структурой, что я мог найти до сих пор, я пытаюсь получить обратно все модули/контроллеры/действия, когда это будет сделано, я отправлю его обратно сюда (плагин класс), то мы попытаемся переместить все вместе (вклад для других), чтобы справиться с этим вопросом с помощью Zend_Acl Dynamic.
Следующие шаги: Для того, чтобы создать плагин в Library/App/Action/Helper
если это делается кем-то, пожалуйста, напишите обратно, чтобы иметь общий вклад об этом, Тогда мы сосредоточимся на сохранение данных при помощи Doctrine ORM с нашим Zend Project, 3 Шаг заключается в создании контроллера, который динамически создает Zend_Acl из информации о базе данных (роль, разрешения, действия).
Любые советы/идеи/предложения, здесь, где следует продолжать, пока не закончите.
С наилучшими пожеланиями,
Да, конечно, это возможно. Zend_Acl очень гибкий. Вы можете получить пользовательские роли и разрешения из базы данных, xml-файла или всего, что захотите. Вы можете даже жестко запрограммировать их, но это не очень обычно. –