НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.2.3 >> [I128-2500] Слияние записей: служебные SID и авторизация создаются через Security📄 Скачать в DOCX
| Тип | Версия | Статус | Приоритет | Исполнитель |
|---|---|---|---|---|
| ⚙️ Исправление ошибок | 2026.2.3 | 🔘 Завершено |
Средний | Ilya Mikhaylenko |
Компоненты: ИРБИС 128. Модуль MergeRecords - Слияние записей
Завершено: 28.06.2026 00:03
Проблема:
В модуле MergeRecords при слиянии записей служебное поле 113 частично формируется напрямую: SID записиисточника назначается через `$sr>EnsureSid(), а авторизационная записьAUTHдобавляется ручнымFieldAddA(). Эти операции обходят централизованный слой Security для материализации служебного поля113`.
Решение:
Назначение SID записиисточника в URLмержерах переводится на Security::EnsurePhysicalSid(), а создание авторизационного поля при подготовке читательской записи — на Security::MaterializeAuth(). Поведение слияния для пользователя не меняется: связи, URL и авторизационные данные продолжают переноситься, но служебное поле создается через общий механизм Security.
Технические подробности:
В modules/MergeRecords/FieldMergers/url.inc прямые вызовы $sr~~>EnsureSid() заменяются на UseModule('Security')~~>EnsurePhysicalSid($sr). В modules/MergeRecords/__call/sprepareRDR.inc прямое добавление AUTHполя заменяется на `UseModule('Security')>MaterializeAuth()`.
Документация: Изменения документации не требуются: алгоритм слияния и пользовательский сценарий не меняются, исправляется внутренний способ записи служебных данных.
-
[I128-2487] Security: служебное поле 113 создается без явного действия безопасности
Статус: Завершено | Автор: Ilya Mikhaylenko