Храните отдельно инициатора и замещаемого пользователя, проверяйте право на замещение и вычисляйте эффективные разрешения по явной политике, а не просто подменяйте user_id.
Как доработать middleware авторизации, чтобы оно учитывало права пользователя, которого текущий пользователь замещает?
Храните отдельно инициатора и замещаемого пользователя, проверяйте право на замещение и вычисляйте эффективные разрешения по явной политике, а не просто подменяйте user_id.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Храните отдельно инициатора и замещаемого пользователя, проверяйте право на замещение и вычисляйте эффективные разрешения по явной политике, а не просто подменяйте user_id.
Разрешение на замещение должно иметь область, срок и возможность отзыва. Проверяйте доступ к каждому ресурсу от имени эффективного субъекта, сохраняя реальные действия инициатора в аудите. Не объединяйте права двух пользователей автоматически: это может расширить доступ. Запретите вложенное замещение и чувствительные действия, если политика их не разрешает; идентификатор замещаемого лица нельзя доверять без серверной проверки.