- Отгружено
- 15 ноября 2026 г. в 00:45 UTC
- Автор
- Kamo
- Завершение
- 32d9972
- KSessionService.mutateSession: оптимистическое сравнение и установка (Lua, полезная нагрузка сравнивается как строка, оставшийся TTL читается в скрипте, никогда не обновляется; потолок только сокращается). updateSession / refreshSessionPolicy / rewriteRightsForMember все проходят через него, так что переключение режима god больше не может быть потеряно в одновременном /session/refresh. Инвариантный при каждой записи: godModeActive никогда не выживает без GD. - Активация God-режима перепроверяет GD на сессии, которая записывается (403 если отозван). - Обновить ре-минты GD, securityLevel, memberType, teamMember (владелец, отдел) и названия через **************** совместное использование загрузчиков входа и **************** строителей. Отмененный GD очищает открытое окно режима god в той же записи. Делегированные (порядок SI) сеансы не расширяется при обновлении. - SessionRightsResolver: участник, не имеющий права на участие в живой сессии (off-boarded, прерванный, предварительно арендованный) не имеет прав при входе или обновлении; обновление используется для восстановить полный водопад. - CallerSessionResolver: кэш сеанса с охватом запроса (также пропускает), сохраняется в текущем состоянии при каждом *** write/delete на потоке запроса (и атрибуте фильтра OTK). - ReportRequestContext.rightsOf: собственные права вызывающего из его сессии; другие через правило входа в систему (разрешение всех, правомочность); запоминается для каждого запроса.
