CakePHP 1.3: плагин Alaxos ACL не распознает плагин Pages - PullRequest
0 голосов
/ 02 февраля 2012

Я разрабатывал с CakePHP, и плагин Alaxos ACL очень помог.

Однако я столкнулся с одной проблемой, я не уверен, как ее исправить?

Я добавилплагин с именем 'pages', но я не могу получить ACL для его просмотра, поэтому он добавляется в список разрешенных / запрещенных действий.

Если я получаю доступ к плагину через domain.com/pages/pages, я получаю следующееошибка

DbAcl::check() - Failed ARO/ACO node lookup in permissions check.

Когда я проверяю через плагин ACL, нет ссылки на контроллер страниц, и если я запускаю функцию сборки ACL, он просто говорит, что добавить нечего.

Это потому, что этот контроллер назван page, а внутри Cake уже есть контроллер страниц?

Если это как я могу это исправить?В данный момент мой единственный вариант - добавить это вручную в базу данных?Должен ли я пройти через этот плагин и переименовать страницы в другое?или есть что-то еще, что я должен делать?

Спасибо,

1 Ответ

1 голос
/ 02 февраля 2012

Я вижу две вещи здесь.Во-первых, как вы подозреваете, наличие в вашем приложении двух классов с одинаковым именем - плохая идея.Скорее всего, это так или иначе вызовет у вас проблемы с созданием неправильного класса или чего-то еще.Поскольку Cake не использует пространства имен, это не рекомендуется.

Тогда, даже если вы измените это имя, возникнет другая проблема, если контроллер, которым вы хотите управлять с помощью ACL, является контроллером по умолчанию (контроллер, который имеет то же имя, что и плагин).Была проблема с извлечением узлов ACO, когда путь содержит дважды одно и то же имя, что имеет место для контроллеров плагинов по умолчанию.

controllers/Pages/Pages/index

Поэтому я решил просто пропустить контроллеры плагинов по умолчанию из поддерживаемых контроллеровс помощью плагина ACL.

Если вы являетесь автором этого плагина, вы можете переименовать его (поскольку PagesController уже существует) и перенести действия в какой-либо другой контроллер, отличный от контроллера по умолчанию.

...