Хранение сессий в базе данных Битрикс - разработка и поддержка сайтов BUSSOL


Заказать разработку

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

Автор:

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

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

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

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

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 (953) 298-86-66

18 июня 2024


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

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

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/. Также очистите кэш браузера. После чего сессии будут записываться в БД и проблем с авторизацией возникать не будет.

ДРУГИЕ СТАТЬИ

Возврат к списку
Партнер Аспро Золотой сертифицированный партнер 1с-Битрикс

Заказать проект или работы:

Проверяем мессенджеры и почту 3 раза в день. Отвечаем в течении 24-х часов.

Заказать разработку