Я пытался использовать easyAdmin3 для быстрого создания учетной записи администратора, но как сделать правильное действие, имитирующее пользователя?
Я много чего пробовал, но лучший вариант - это настраиваемые действия, поэтому эта ссылка отображается на странице, но работает неправильно ...
Impersonate работает, но только на странице, на которую ссылается url (олицетворение остановлено, если страница изменяется), а User not change в панели инструментов Symfony ...
Мое собственное действие:
public function configureActions(Actions $actions): Actions
{
$impersonate = Action::new('impersonate', 'Impersonate')
->linkToRoute('web_account_index', function (User $entity) {
return [
'id' => $entity->getId(),
'?_switch_user' => $entity->getEmail()
];
})
;
return parent::configureActions($actions)
->add(Crud::PAGE_INDEX, Action::DETAIL)
->add(Crud::PAGE_INDEX, $impersonate)
;
}
Результат: ссылка на панель управления для каждого пользователя
После нажатия на олицетворение у меня есть этот URL:
https://blog-community.wip/account/7?eaContext=37a8719&[email protected]
Контент в порядке (учетная запись страницы для пользователя 7), но в Symfony Profiler отображается User admin вместо олицетворенного пользователя:
Пользователь профилировщика Symfony вошел в систему
Изменить выход со страницы олицетворением ...
Настоящее олицетворение Symfony сохраняет олицетворение, даже если страница изменяется, потому что зарегистрированные пользователи профилировщика разные Пользователь профилировщика Symfony вошел в систему под олицетворением напрямую в URL
документация не ссылается на эту функциональность, Github EasyAdmin также имеет проблемы с этим веб-сайтом.
Спасибо за помощь