Просмотров: 16669 (Статистика ведётся с 06.02.2017)
Дата последнего изменения: 09.11.2017

Возможные причины проблемы:

  • Лишние переносы строк (или иные символы) в скриптах конфигурации. Необходимо убедиться, что в коде файлов dbconn.php, init.php и after_connect.php, расположенных в папке bitrix/php_interface, не содержится переносов строк перед "<?" и после "?>".
  • Файлы с сессиями продукта создаются, но PHP не хватает прав, чтобы к ним обратиться. Попробуйте в файле /bitrix/php_interface/dbconn.php закомментировать строку:
    //@umask(~BX_DIR_PERMISSIONS);
  • Установлен лимит времени на бездействие пользователя, при превышении которого сессия удаляется. Вам необходимо в настройках группы пользователя на вкладке Безопасность увеличить значение Время жизни сессии (минут).

    Значение по умолчанию можно изменить в файле php.ini (Bitrix Environment\Apache2\zendserver\etc): параметр session.gc_maxlifetime.

  • Значение параметра Маска сети для привязки сессии в настройках безопасности группы пользователей. Если оно равно, например, 255.255.255.255, то это означает, что при изменении IP пользователя, авторизация будет сброшена.
  • Значение параметра session.cookie_domain в файле php.ini на сервере. Если оно задано - убедитесь, что оно соответствует URL вашего сайта. Если значение параметра session.cookie_domain равно www.site.ru, а Вы обращаетесь к системе по URL site.ru, то в этом случае сессия не будет сохранена, и, соответственно, авторизация не сохранится.

    Для решения проблемы необходимо установить в настройках PHP корректное значение параметра session.cookie_domain.

  • Неверно прописан домен в настройках главного модуля и для сайта отдельно.

    Проверьте значение поля URL сайта на странице административного режима Настройки > Настройки продукта > Настройки модулей > Главный модуль.

    Проверить значение поля URL сервера можно, открыв настройки нужного сайта на странице административного раздела Настройки > Настройки продукта > Сайты > Список сайтов.

    Примечание: также одной из причин может быть некорректное значение в параметрах сайта поля Путь к корневой папке веб-сервера для этого сайта, либо Доменное имя. Доменное имя можно сменить или удалить путем внесения изменений в файл /hosts.

  • При переносе сайта не скопировался файл /.access.php. В данном файле хранятся права групп пользователей к сайту, и если данного файла нет, то для всех пользователей право доступа устанавливается как Запрещен.

    Проблема решается одним из способов:

    • вам надо на странице административного раздела Контент > Структура сайта > Файлы и папки в меню действий корневой папки сайта выбрать пункт Свойства папки и на вкладке Доступ установить для группы Все пользователи (в том числе неавторизованные) право Чтение;
    • в корневую папку сайта загрузить файл .access.php со следующим содержанием:
      <? $PERM["/"]["*"]="R"; ?>
      
  • Если при многосайтовости вас выкидывает на форму авторизации при переходе по публичным страницам сайта, проверьте содержимое файла .access.php на идентичность следующему коду:
    <?
    $PERM["/"]["*"]="R";
    ?>
    
  • Авторизация не учитывается на вашем домене.

    На закладке Авторизация страницы настроек главного модуля (Настройки > Настройки продукта > Настройки модулей > Главный модуль) поставьте галочку в поле Распространять авторизацию на все домены.

  • Проблема может быть в работе сервера (нужна поддержка сессий в php, должна быть указана папка сохранения сессий и права на запись в эту папку).

    Проверьте исправность работы сервера с сессиями с помощью данного скрипта и в случае наличия неполадок обратитесь к администратору сервера.

Примечание: при проблеме, когда работа в административном режиме прерывается появляющейся формой авторизации, чтобы дать себе возможность что-то поправить в настройках сайта, после авторизации не совершайте никаких действий порядка 10-30 секунд, и, возможно, форма авторизации не появится.



38


Курсы разработаны в компании «1С-Битрикс»