Как устранить при обмене с 1С сбой «Доступ к данной операции запрещён, потому что система не смогла распознать администратора (неверная сессия)»?

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
#1 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

28.05.2014 12:00

Заметил, что в некоторых интернет-магазинах обмен данными между интернет-магазином и «1С:Управление торговлей» иногда завершается сбоем
«Доступ к данной операции запрещён, потому что система не смогла распознать администратора (неверная сессия)».

Причиной этого сбоя является аннулирование ядром Magento авторизации «1С:Управление торговлей» из-за стандартного, заложенного в Magento Community Edition таймаута для внешних программ: 1 час.

Первичный импорт большого каталога товаров на медленном сервере и при использовании устаревших версий Российской сборки Magento (ниже 2.35.0) может занимать больше 1 часа, и в такой ситуации ядро Magento обрывало обмен данными.

Устранить эту проблему можно увеличением значения таймаута:
«Система» → «Настройки» → «Доступ извне» → «API» → «Общие настройки» → «Через какое время в секундах аннулировать авторизацию внешних программ?».
«System» → «Configuration» → «Services» → «Magento Core API» → «General Settings» → «Client Session Timeout (sec.)».
Прикрепленное изображение: Настройки подключения к Magento внешних программ.png

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

Рекомендую установить в этом поле значение «86400» (1 сутки).

Россиская сборка Magento, начиная с версмии 2.35.1, запрограммирована таким образом, что для авторизации «1С: Упрапвление торговлей» в интернет-магазине таймаут не будет применяться вовсе.
Однако описанная выше опция всё равно остаётся важной для обмена с 1С: при авторизации 1С в интернет-магазине система будет удалять из базы данных устаревшие данные предыдущих сеансов подключений 1С, и критерием устаревания является именно прошествие указанного данной опцией времени с момента предыдущего сеанса обмена.
Значение «86400» (1 сутки) и в данном случае будет оптимальным.

Поделиться темой: