Я пытаюсь выдать себя за внешнюю ссылку. Например https://example.com/?_switch_user=email
. Таким образом, при нажатии на кнопку он будет перенаправлять пользователя и немедленно олицетворять. Это отлично работает. Проблема в том, что когда я пытаюсь выдать себя за нового пользователя, это приводит к ошибке 500. Как и следовало ожидать, потому что есть активное подражание. У меня вопрос: можно ли сначала запустить https://example.com/?_switch_user=_exit
в фоновом режиме, а затем перенаправить на нового пользователя извне.
Это мой код:
/**
* @Route("/admin/client/{email}", name="client-impersonate")
*/
public function impersonate($email)
{
// first run someting to exit the active impersonation and then redirect below
return $this->redirect('https://example.com/?_switch_user='.$email);
}
Мое решение для резервного копирования будет состоять в том, чтобы создать своего рода слушателя на example.com
, чтобы сначала проверить, есть ли активное олицетворение, и сначала «выйти».
Но мне было интересно, смогу ли я сделать это также с кодом выше. (до перенаправления)