public function onSwitchUser(SwitchUserEvent $event) { $request = $event->getRequest(); $request->getSession()->remove($this->sessionName); $request->getSession()->remove('ad_perfil.perfil_multiple'); $user = $event->getTargetUser(); if (is_object($user)) { $perfils = $user->getPerfils(); $this->setPerfilId($event->getRequest(), $perfils); } }
/** * Fired on switch user, you can remove attributes or whatever you want here. * @param SwitchUserEvent $event */ public function onSecuritySwitchUser(SwitchUserEvent $event) { /** @var \Entity\User $user */ $user = $event->getTargetUser(); /*var_dump($user ); var_dump($event->getRequest()->getUser()); */ $request = $event->getRequest(); $session = $request->getSession(); \ChamiloSession::setSession($session); $session = $event->getRequest()->getSession(); //$session->remove('partThatShouldNotCarryOver'); }
public function onSecuritySwitchUser(SwitchUserEvent $event) { $request = $event->getRequest(); $requestSwitch = $request->query->get('_switch_user'); $currentUser = $this->container->get('security.context')->getToken()->getUser(); $logManager = $this->container->get('TMSolution.Logging.LogManager'); $logger = $logManager->getLogger('app'); $logger->info("Przelogowanie : {$currentUser->getUsername()} na {$requestSwitch}", ["extended" => "{$currentUser->getUsername()} o id {$currentUser->getId()} zalogował się na {$requestSwitch}"]); }
public function onSwitchUser(SwitchUserEvent $event) { $tokenStorage = $this->tokenStorage; $authChecker = $this->authChecker; $target = $event->getTargetUser(); if ($authChecker->isGranted('ROLE_PREVIOUS_ADMIN')) { // Impersonator is going back to normal foreach ($tokenStorage->getToken()->getRoles() as $role) { if ($role instanceof SwitchUserRole) { $impersonator = $role->getSource()->getUser(); break; } } $isImpersonating = false; } else { // Impersonator is becoming the target user $impersonator = $this->tokenStorage->getToken()->getUser(); $isImpersonating = true; } $controllerAction = array($this, 'onSwitchUser'); $this->logger->registerImpersonate($event->getRequest(), $target, $impersonator, $controllerAction, $isImpersonating); }