Получение "Эта веб-страница имеет цикл перенаправления", когда разрешение запрещено - PullRequest
3 голосов
/ 25 апреля 2011

Я работаю на сайте друпал. Вместо того, чтобы показывать страницу с указанием «разрешение не найдено», это просто приводит к циклу перенаправления.

"Error 310 (net::ERR_TOO_MANY_REDIRECTS): There were too many redirects." - ошибка хрома

Может ли кто-нибудь указать мне правильное направление? Спасибо.

РЕДАКТИРОВАТЬ: Это происходит, когда пользователь уже вошел в систему и переходит на страницу, к которой у него нет доступа.

Проблема возникает в функции login_register в user.module, где она прерывается вызовами drupal_get_form ('user_login') и drupal_get_form ('user_register'). В user_login строка, которая вызывает перенаправление, выглядит так: if ($ user-> uid) {drupal_goto (''); } В user_register это: if (! $ Admin && $ user-> uid) {drupal_goto ('user /'. $ User-> uid); } Когда я комментирую эти строки drupal_goto, страница отображается правильно.

Однако он показывает экран входа в систему, который я не хочу. Я хочу иметь возможность сказать «если пользователь вошел в систему, но не имеет разрешения на просмотр этой страницы, а затем показать сообщение, в противном случае, если пользователь не вошел в систему, а затем показать форму входа»

Ответы [ 4 ]

1 голос
/ 11 ноября 2011

Похоже, что доступ к странице 403 запрещен. Это будет отправлять вас на страницу 403 каждый раз, когда вы пытаетесь посетить страницу 403, заканчиваясь бесконечным циклом.

1 голос
/ 08 ноября 2011

Я бы отслеживал заголовки HTTP, чтобы проверить содержимое запросов.Отладчик Zend также может помочь.

1 голос
/ 11 ноября 2011

Вы должны убедиться, что «разрешение не найдено» доступно для просмотра всем (то есть также пользователям, которые не вошли в систему и не имеют никаких ролей / прав / разрешений).

То есть, вероятно,Страница "разрешение не найдено" в настоящее время не может быть просмотрена без определенных разрешений.Таким образом, пользователю не разрешается просматривать страницу «Разрешение не найдено», и он перенаправляется на страницу «Разрешение не найдено», которая снова перенаправляет на страницу «Разрешение не найдено» и т. Д. И т. Д.

1 голос
/ 26 апреля 2011
  • Проверьте, установлена ​​ли здесь страница с ошибкой 403: admin / settings / error-report.Если он пуст и ничего не выходит за рамки нормы.

  • Переключите тему на Garland, чтобы исключить проблему в вашей теме.

Если они не раскрывают причину проблемы, начните изолировать проблему, отключив модули.Цель этого состоит в том, чтобы определить, какой модуль вызывает проблему.

1) Сделайте резервную копию вашей базы данных, чтобы вы могли легко вернуться к тому, с чего начали,

2) Перейти в городотключение модулей 1 по одному.Начните с пользовательских модулей и модулей, которые вы установили совсем недавно, а затем перейдите к модулям, которые могут иметь дело с доступом.После этого просто догадайтесь.

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

Удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...