Перейти к основному содержимому

ADR-017. Контекст действия не равен подмене пользователя

Контекст

Когда взрослый действует от имени ребёнка или сотрудник от имени организации, нельзя менять sub пользователя. Иначе теряется audit, нарушается семейный контур и осложняются support-сценарии.

Решение

Контекст действия моделируется через actor_context отдельно от user_id. Заголовок X-Actor-Context передаёт kind и, при необходимости, target (studentProfileId, organizationId, teamId). Для семейных сценариев главным subject является student_profile; linked child user может быть только optional reference. Backend проверяет право на этот контекст.

Последствия

  • audit фиксирует реального актёра и контекст;
  • support не использует «безымянную подмену»;
  • семейные и организационные сценарии работают единообразно.

Связи

  • relates: ADR-016, ADR-018, ADR-022