Ошибка 310 при входе в систему одной из ролей

Главные вкладки

Аватар пользователя yousername yousername 5 апреля 2010 в 19:41

Помогите, пожалуйста, решить проблему.

На сайте (Drupal 6.16) есть пять ролей - анонимный пользователь, зарегистрированный пользователь, редактор, разработчик и админ.
Когда в систему входит редактор, разработчик или админ - всё работает без проблем.
Но когда входит простой зарегистрированный пользователь (любой), образуется бесконечная переадресация - Error 310: ERR_TOO_MANY_REDIRECTS. И эту ошибку начинают выдавать все страницы сайта, пока пользователь не выходит через ручной набор server.ru/logout.
Параллельный вход админом через другой браузер показывает, что зарегистрированный пользователь в системе.
От браузера это не зависит.
По всей видимости связано с отсутствием у зарегистрированного пользователя каких-то прав.
Но на первый взгляд все необходимые права у этой роли есть, а перебирать каждое отдельное право мучительно долго.
Может кто сталкивался с такой проблемой? Подскажите в чём может быть дело.

Комментарии

Аватар пользователя Azerot Azerot 6 апреля 2010 в 14:57

Какие-нибудь дополнительные правила для mod_rewrite в .htaccess не писали? Такое часто бывает если эти правила зацикливаются в итоге.

Аватар пользователя yousername yousername 10 ноября 2015 в 11:46

Вроде ничего не менял.
Прилагаю .htaccess, посмотрите, если будет возможность.
Непонятно, когда это началось. Но изначально такого не было.
Может, с хостом что не так. У нас nichost.

Аватар пользователя yousername yousername 7 апреля 2010 в 12:57

Не помогло.
Похоже, что-то с настройками сервера.
Когда логинится любая роль, кроме админа, сайт со всех страниц начинает перенаправлять на страницу user.
Сомнительно, чтобы в настройках друпала было что-то похожее.

Аватар пользователя Azerot Azerot 7 апреля 2010 в 14:54

Да, тут что-то нетривиальное похоже, но не думаю что дело только в настройках сервера.
Попробуйте для начала забакапить существующий Друпал и поставить с нуля последний друпал без доп. модулей. Будет ли проблема наблюдаться и там? Если нет - однозначно Друпал виноват, вернее какой-то кривой код или настройки

Аватар пользователя yousername yousername 10 апреля 2010 в 2:43

UPD
Отключил все модули, включая дополнительные друпаловские. Не помогло.
Залил стандартный .htaccess - не помогло
Сделал зеркало на другом серваке - тот же глюк.
Осталось три предположения:
1. Что-то напартачено в теме
2. Что-то напартачено в коренных модулях самого друпала
3. Что-то напартачено в базе данных (какой-то сбой при записи или настройки от старого модуля).

Аватар пользователя Azerot Azerot 10 апреля 2010 в 12:10

1. Смените на дефолтную и проверьте
2. Это очень вряд ли
3. Включите отладку запросов к БД, отследите повторяющиеся, попробуйте сделать выводы, где возникает проблема. Попробуйте включить отладку PHP и найти тот фрагмент откуда происходит зацикливание

Аватар пользователя yousername yousername 11 апреля 2010 в 3:37

Докопался.
Ошибка исчезает, если дать ролям разрешение администрировать пользователей.
Есть этому какое-то объяснение? И как мне уберечь пользователей от администрирования самих себя и друг-друга?
Может, надо ещё какое-то право убрать? Пользователи администрируются сейчас любой авторизованной ролью независимо от наличия права доступа к административным страницам.

Аватар пользователя Azerot Azerot 11 апреля 2010 в 13:27

Объяснение всегда есть. Надо только до него докопаться. Попробуйте понять какой код выполняется если такие права есть и если таких прав нет. Тогда собственно можно попытаться найти тот фрагмент кода, где возникает редирект.