НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.3 >> [I128-2677] Очистка локальных прав записи в модуле Security📄 Скачать в DOCX
| Тип | Версия | Статус | Приоритет | Исполнитель |
|---|---|---|---|---|
| ⚙️ Новые возможности | 2026.3 | 🔘 Завершено |
Средний | Ilya Mikhaylenko |
Компоненты: ИРБИС 128. Модуль Security - Подсистема безопасности
Завершено: 10.07.2026 00:21
Ценность Модуль Security получает явный API для очистки локальных прав записи без удаления SID, наследуемых прав и служебных связей поля 113. Это нужно как безопасная основа для сценариев массового переназначения прав в модулях, которые работают с объектами ИРБИС 128.
Сценарий Код модуля вызывает Security::DeleteAllLocalRights() для записи, у которой нужно убрать локальные SEC-права. Метод удаляет только ненаследуемые права и возвращает количество изменений, чтобы вызывающий сценарий мог сохранить запись и показать корректный результат.
Совместимость Существующие методы Security и структура поля 113 сохраняются. SID, LINK и наследуемые SEC с признаком ^G1 не удаляются. Старые данные не требуют миграции.
-
I1282677 выделяет в модуль Security самостоятельный API для удаления локальных прав записи. PR открыт как technicalonly первая волна для develop; эта задача блокирует пользовательский сценарий I128-2091.
Куда смотреть:
Security::DeleteAllLocalRights(&$r) и TEstAmodules/Security/Tests/Module.inc. Эффект: было: в Security был helper удаления конкретного локального права, но не было общего метода безопасной очистки всех локальных SEC113^A=SEC и получить количество удалений, при этом SID, LINK и inherited SEC с ^G1 сохраняются.modules/Security/Help/RecordServiceField113.md с явным указанием Security::DeleteAllLocalRights().origin/develop (7f3a2ab9c) и не имеет зависимостей; можно переключаться прямо на PRИзменения по файлам:
modules/Security/api.php
DeleteAllLocalRights(&$r).SEC без признака наследования ^G1.modules/Security/Tests/Module.inc
Test*Security*Module, metadata GetInfo(), проверка в Run().SID, локальным SEC, inherited SEC и LINK, вызывает DeleteAllLocalRights() и проверяет, что удалено только локальное право.modules/Security/Help/RecordServiceField113.md
Security::DeleteAllLocalRights().[I128-2091] Возможность убирать не наследуемые права у потоков объекта
Статус: Завершено | Автор: Галина Арноси