2011-02-07 2 views
0

У моей установки Drupal/ubercart есть странная проблема. Анонимные пользователи могут получить доступ к странице редактирования/узлу/44/edit только для узла SINGLE - продукта ubercart. Я создал новую версию узла, которая не имеет проблемы. Вкладки (просмотр/редактирование) также доступны на странице продукта анонимным пользователям. Проблема стала понятной, когда страница была отредактирована спам-ботом.Drupal ошибочно разрешает доступ для анонимных пользователей на одну страницу редактирования

Есть ли способ выдавать процесс принятия решений, который Drupal делает на экране? Например, могу ли я выводить переменные на экран, который использует Drupal для принятия решения о том, имеет ли пользователь доступ к данному URL или нет?

Заранее спасибо.

+1

Вы используете модуль, который предоставляет правила node_access? – Berdir

+0

У меня тоже была эта проблема ... если вы используете что-то вроде node_access, вы должны быть осторожны. особенно если у вас есть настройка, позволяющая авторам редактировать собственный контент. после удаления пользователя все узлы, которые они создали, вернутся к uid = 0 (анонимно). поэтому они могут затем отредактировать этот узел. – mikesir87

+0

Спасибо всем за вашу помощь - эти предложения были полезны, помогая мне разобраться. mikesir87, это было хорошее предложение. Я не думал проверять автора узла (doh!), И это действительно было пустым (так анонимно)! Я понятия не имею, как это произошло, поскольку оно было окончательно создано зарегистрированным пользователем, поэтому нужно выяснить, что вызвало его сейчас. Редактор содержимого, о котором я знаю, был удален, однако я проверю это. Как узнать, использую ли я node_access? Я предполагаю, что это означает API, а не модуль nodeaccess (я не использую mod). Еще раз спасибо. – CitrusTree

ответ

0

Возможно, существует лучший способ, но для начала вы можете создать настраиваемый модуль, который реализует hook_menu_alter, затем сбрасывает содержимое массива $ items, чтобы увидеть обратный вызов доступа, связанный с/node/44/edit или/узел /%/редактировать.

0

Одна вещь, которую нужно попробовать: «перестроить разрешения узлов». Это делается на странице настроек admin/content/node-settings. Это может быть так же просто, как и разрешения, которые редко встречаются, но иногда случаются.