Ворклог по задаче "Добавить кнопку для быстрого редактирования товара"
Реализация выполнена
Кнопка быстрого редактирования товара и административный toolbar реализованы.
Как сделана проверка авторизации
Изначально рассматривался вариант передавать MODX-cookie в сам MODX-сайт и получать от него результат проверки текущей сессии через его собственные механизмы авторизации.
От этого варианта отказались как от избыточного для текущей задачи: он потребовал бы дополнительной конфигурации окружения, знания адреса MODX-сайта и ещё одного сетевого взаимодействия.
В текущей реализации cookie берётся из заголовков входящего запроса и проверяется напрямую через уже существующий клиент к актуальной базе данных.
Для нового frontend сейчас не нужен полноценный объект MODX-user. Нужен только надёжный признак того, что административная сессия существует, чтобы показать дополнительный toolbar.
Конечные административные действия всё равно выполняются в MODX Manager. При переходе туда MODX повторно проверяет собственную сессию и права пользователя, поэтому новая проверка на frontend не является конечным security boundary.
Почему выбран такой компромисс
Решение принято по принципу баланса затрат и функциональности:
- используется уже доступный клиент к актуальной базе;
- не вводятся дополнительные environment variables;
- не требуется отдельный запрос в MODX;
- frontend получает только нужный ему boolean-сигнал;
- конечная проверка прав остаётся в MODX Manager;
- функционал предназначен только для администраторов, поэтому возможные проблемы быстро проявятся через обратную связь.
Текущая реализация считается достаточной для задачи. Если административная интеграция между новым frontend и MODX начнёт расширяться, механизм проверки сессии можно будет пересмотреть и вынести в более формализованный auth bridge.