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 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); }
/** * * @param \Symfony\Component\Security\Http\Event\SwitchUserEvent $event */ public function onSecuritySwitchUser(SwitchUserEvent $event) { $this->discriminate($event->getTargetUser()); }