[I128-2506] Авторизация пользователей: учетные данные и SID создаются через Security


НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.2.3 >> [I128-2506] Авторизация пользователей: учетные данные и SID создаются через Security📄 Скачать в DOCX


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

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

Завершено: 28.06.2026 00:34

Проблема: В модуле Authorisation SID читательских/пользовательских записей, учетные данные AUTH и права Login частично создаются прямой записью поля 113: через EnsureSid(), SetSid(), FieldAddA(), SetFieldA() и ручную установку подполей. Это обходит централизованный слой Security.

Решение: Регистрация, вход и внешние способы авторизации переводятся на Security::EnsurePhysicalSid(), Security::MaterializeAuth(), Security::MaterializeAuthField() и Security::MaterializeRight(). Поведение для пользователя не меняется: регистрация, вход, ESIA/LDAP/VK/OUP/WebIrbis/I128-авторизация продолжают работать, но служебные поля создаются единообразно.

Технические подробности: В modules/Authorisation прямое назначение SID заменяется на UseModule('Security')~~>EnsurePhysicalSid(), ручное создание и обновление AUTH~~полей — на MaterializeAuth() и MaterializeAuthField(), а права Login — на MaterializeRight().

Документация: Изменения документации не требуются: пользовательские сценарии авторизации не меняются, исправляется внутренний способ записи SID, учетных данных и прав.

-

1. Связанные задачи

1.1. 🔗 blocks: I128-2487

[I128-2487] Security: служебное поле 113 создается без явного действия безопасности Статус: Завершено | Автор: Ilya Mikhaylenko