[I128-2325] Дублирование записей читателей при логине по SSO при включенном параметре AllowLDAPCreateNew


НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.2 >> [I128-2325] Дублирование записей читателей при логине по SSO при включенном параметре AllowLDAPCreateNew📄 Скачать в DOCX


Тип Версия Статус Приоритет Исполнитель
⚙️ Исправление ошибок 2026.2 🔘 Завершено Средний Ilya Mikhaylenko

Компоненты: ИРБИС 128. Модуль Authorisation - Авторизация пользователей

Завершено: 20.04.2026 06:41

В модуле Authorisation (скрипт authLDAP.inc) исправлена логика обработки результатов поиска пользователя в базе данных ИРБИС.

Проблема: Ранее блок кода, отвечающий за создание нового пользователя (при включенной опции AllowLDAPCreateNew), ошибочно располагался в ветке else и выполнялся только в том случае, если пользователь уже был найден в базе ($res[0](0) >= 1). Это приводило к тому, что существующая запись игнорировалась, а вместо нее создавалась новая (дубликат) при каждом успешном входе через AD. При этом, если пользователь не был найден ($res[0](0) < 1), система просто возвращала ошибку и прерывала вход.

Решение: Удалена лишняя ветка else и ошибочный возврат ошибки из условия else if ($res[0](0) < 1). Теперь логика создания новой учетной записи из данных Active Directory корректно отрабатывает именно внутри условия отсутствия пользователя в базе ($res[0](0) < 1).

В результате:

  1. Если читатель не найден в БД — создается новая запись (если это разрешено настройками).
  2. Если читатель уже существует — используется его текущая запись без создания дубликатов.