'\d+'])] public function impersonateUser(Request $request, LegacyAdminCredentials $adminCredentials, int $id, UserProvider $userProvider, TokenStorageInterface $tokenStorage): Response { $adminCredentials->setAdminGlobalVars(); if (!findRight('USR_IMPERSONATE')) { return new Response('Nedostatečená práva'); } // Hotfix: Čistý bude až se merge přihlašování do adminu přes symfony $user = $userProvider->loadUserById($id); $dummyToken = new UsernamePasswordToken($user, 'main', $user->getRoles()); $impersonationToken = new SwitchUserToken($user, 'main', $user->getRoles(), $dummyToken); $tokenStorage->setToken($impersonationToken); $user->getKupshopUser()->login(skipSymfonyLogin: true); if (findModule(\Modules::JS_SHOP)) { $request->getSession()->set('adminLogin', true); } return new RedirectResponse('/'); } }