Закрытый документ не попадает даже во входной контекст; ключ кэша зависит от пользователя и версии прав.
О проекте
Задача
Фильтрация готового ответа слишком поздняя, если чужой фрагмент уже передан дальше. Стенд строит саму разрешенную входную подборку и показывает ее ключ.
Решение
Я проверяю роль перед отбором фрагментов. При ошибке проверки прав возвращаю пустой контекст. Ключ включает пользователя, версию прав и редакции допущенных документов, поэтому старый персональный результат не переиспользуется.
Результат
Для uA в контекст входят PUBLIC и DOC-A, строка B-CONTENT отсутствует. При ошибке прав контекст пуст. Смена роли, редакции или пользователя меняет ключ подготовки; модель при этом не вызывается.
Что передано заказчику
- index.html
- source.json
- source.csv
- result.json
- result.csv
- engine.js
- checks.json
- style.css
Инструменты и подход
Навыки
Содержание 3
Готовая работа
Строка B-CONTENT не входит в контекст A
Для пользователя uA доступны PUBLIC и DOC-A. Документ DOC-B содержит контрольную строку B-CONTENT, по которой можно заметить попадание чужого текста. Я проверяю право до формирования фрагментов и связываю кэш с контекстом доступа, чтобы уже вычисленный результат не обходил ту же границу.
Разбор и материалы
Вклад и команда
Я реализовал проверку прав перед обработкой документа и привязал кэш к контексту доступа.
Ссылки и материалы
- index.html
- source.json
- source.csv
- result.json
- result.csv
- engine.js
- verify.cjs
- checks.json
- style.css
- Сборка контекста: разрешенные фрагменты до любого ответа — исходная таблица.csv
2 ситуаций для сравнения.
- Сборка контекста: разрешенные фрагменты до любого ответа — проверка.txt
Критерии проверки этого решения.
- Сборка контекста: разрешенные фрагменты до любого ответа — паспорт.json
Контекст, ограничения, решение и данные.
- Сборка контекста: разрешенные фрагменты до любого ответа — инструкция.html
Как открыть и проверить рабочий разбор.
Загружаем комментарии…