Подтвердите, что вы не робот
Напишите нам
Напишите нам

Хранение сессий в базе данных Битрикс

Автор:

Дата публикации:

Хранение сессий в базе данных Битрикс

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

Такая ситуация очень часто наблюдается в многосайтовом режиме на поддоменах или на разных доменах. Когда пользователь имеет одну учетную запись ко всем сайтам и на одном сайте он авторизовался успешно, а при попытке авторизации на другом сайте его "выкидывает из админки". К счастью эта проблема решается переносом хранения сессий в базу данных. Для это нужно выполнить следующие действия:

1. Пользуясь FTP откройте файл /bitrix/php_interface/.settings.php. В нем нас интересует часть массива с ключом session. Отредактируйте его так, что он принял такой вид:


'session' =>
array (
  'value' =>
  array (
    'mode' => 'default',
   'handlers' =>
   array (
     'general' =>
     array (
       '_fromSecurity' => true,
       'type' => 'database',
     ),
   ),
 ),
 'readonly' => true,
),

2. Полностью удалите кэш сайта или просто очистите через ftp папки /bitrix/cache/ и /bitrix/managed_cache/. Также очистите кэш браузера. После чего сессии будут записываться в БД и проблем с авторизацией возникать не будет.

241027, Россия, Брянская область, поселок Путевка, улица Рослальская, дом 8, кв.121
Телефон: +7 (950) 692-91-71

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

Такая ситуация очень часто наблюдается в многосайтовом режиме на поддоменах или на разных доменах. Когда пользователь имеет одну учетную запись ко всем сайтам и на одном сайте он авторизовался успешно, а при попытке авторизации на другом сайте его "выкидывает из админки". К счастью эта проблема решается переносом хранения сессий в базу данных. Для это нужно выполнить следующие действия:

1. Пользуясь FTP откройте файл /bitrix/php_interface/.settings.php. В нем нас интересует часть массива с ключом session. Отредактируйте его так, что он принял такой вид:


'session' =>
array (
  'value' =>
  array (
    'mode' => 'default',
   'handlers' =>
   array (
     'general' =>
     array (
       '_fromSecurity' => true,
       'type' => 'database',
     ),
   ),
 ),
 'readonly' => true,
),

2. Полностью удалите кэш сайта или просто очистите через ftp папки /bitrix/cache/ и /bitrix/managed_cache/. Также очистите кэш браузера. После чего сессии будут записываться в БД и проблем с авторизацией возникать не будет.


Другие статьи:  Получить данные о заказе в Битрикс / Убрать дубли детальных страниц товаров битрикс / Добавление товара в избранное на ajax в Битрикс

Похожие статьи

Как удалить брошенные корзины в Битрикс
Бывает ситуация, когда пользователь добавил товары в корзину, но по какой-то причине не оформил заказ. При этом корзина никуда не девается и продолжает висеть на сайте. В настройках можно задать время хранения брошенных корзин, но почему-то настройка не работает. Остается один выход - программное удаление брошенных корзин
Интеграция «1С-Битрикс: Управление сайтом» и «1С:Предприятие»
Интеграция сайта с системами «1С:Предприятие» необходима любому бизнесу, который работает с клиентами онлайн. Без неё интернет-магазин просто не может быть конкурентоспособным – обработка заказа будет занимать больше времени, чем клиент может позволить.