Новое в Symfony 6.4: Утилиты имперсонации

Источник: «New in Symfony 6.4: Impersonation Utilities»
В Symfony 6.4 появились новые функции Twig для генерации относительных/абсолютных URL, необходимых для имперсонации пользователей.

Имперсонация пользователя (выдача себя за другого пользователя) — это популярная функция безопасности Symfony, позволяющая войти в приложение под именем другого пользователя, не зная его учётных данных. В основном это необходимо для отладки проблем, о которых сообщают ваши клиенты и которые вы не можете воспроизвести с помощью собственного пользователя.

Symfony предоставляет несколько функций Twig для облегчения работы с имперсонацией пользователя: impersonation_exit_path() и impersonation_exit_url(). Эти функции генерируют относительные и абсолютные URL, необходимые для выхода или остановки имперсонации и возврата к собственному пользователю.

В Symfony 6.4 мы добавляем новые функции Twig, связанные с имперсонацией. Они называются impersonation_path() и impersonation_url() и генерируют относительный/абсолютный URL, необходимый для имперсонации пользователя:

{# Например, добавьте это на страницу профиля пользователя в бэкенде #}
<a href="{{ impersonation_path(customer.username) }}">Impersonate {{ customer.name }}</a>

{# Например, добавить это в электронные письма, рассылаемые службой поддержки клиентов #}
<a href="{{ impersonation_url(customer.username) }}">Impersonate {{ customer.name }}</a>

Использование этих функций более перспективно, чем генерация путей/URL вручную, поскольку параметр строки запроса, входящий в них, является "магической строкой", настраиваемой в приложении.

Дополнительные материалы

Предыдущая Статья

Нюансы base64-кодирования строк в JavaScript

Следующая Статья

Проверка существования свойства объекта в JavaScript