diff --git a/src/Symfony/Bundle/SecurityBundle/Tests/DataCollector/SecurityDataCollectorTest.php b/src/Symfony/Bundle/SecurityBundle/Tests/DataCollector/SecurityDataCollectorTest.php index 9d2b056385de3..d692e04ad5bfc 100644 --- a/src/Symfony/Bundle/SecurityBundle/Tests/DataCollector/SecurityDataCollectorTest.php +++ b/src/Symfony/Bundle/SecurityBundle/Tests/DataCollector/SecurityDataCollectorTest.php @@ -103,7 +103,7 @@ public function testCollectSwitchUserToken() $adminToken = new UsernamePasswordToken(new InMemoryUser('yceruto', 'P4$$w0rD', ['ROLE_ADMIN']), 'provider', ['ROLE_ADMIN']); $tokenStorage = new TokenStorage(); - $tokenStorage->setToken(new SwitchUserToken(new InMemoryUser('hhamon', 'P4$$w0rD', ['ROLE_USER', 'ROLE_PREVIOUS_ADMIN']), 'provider', ['ROLE_USER', 'ROLE_PREVIOUS_ADMIN'], $adminToken)); + $tokenStorage->setToken(new SwitchUserToken(new InMemoryUser('hhamon', 'P4$$w0rD', ['ROLE_USER']), 'provider', ['ROLE_USER'], $adminToken)); $collector = new SecurityDataCollector($tokenStorage, $this->getRoleHierarchy(), null, null, null, null, true); $collector->collect(new Request(), new Response()); @@ -115,7 +115,7 @@ public function testCollectSwitchUserToken() $this->assertSame('yceruto', $collector->getImpersonatorUser()); $this->assertSame(SwitchUserToken::class, $collector->getTokenClass()->getValue()); $this->assertTrue($collector->supportsRoleHierarchy()); - $this->assertSame(['ROLE_USER', 'ROLE_PREVIOUS_ADMIN'], $collector->getRoles()->getValue(true)); + $this->assertSame(['ROLE_USER'], $collector->getRoles()->getValue(true)); $this->assertSame([], $collector->getInheritedRoles()->getValue(true)); $this->assertSame('hhamon', $collector->getUser()); } diff --git a/src/Symfony/Component/Security/Http/Firewall/ContextListener.php b/src/Symfony/Component/Security/Http/Firewall/ContextListener.php index baf8dff3fddbd..3de1aab1558cd 100644 --- a/src/Symfony/Component/Security/Http/Firewall/ContextListener.php +++ b/src/Symfony/Component/Security/Http/Firewall/ContextListener.php @@ -302,10 +302,6 @@ private static function hasUserChanged(UserInterface $originalUser, TokenInterfa $userRoles = array_map('strval', (array) $refreshedUser->getRoles()); - if ($refreshedToken instanceof SwitchUserToken) { - $userRoles[] = 'ROLE_PREVIOUS_ADMIN'; - } - if ( \count($userRoles) !== \count($refreshedToken->getRoleNames()) || \count($userRoles) !== \count(array_intersect($userRoles, $refreshedToken->getRoleNames())) diff --git a/src/Symfony/Component/Security/Http/Firewall/SwitchUserListener.php b/src/Symfony/Component/Security/Http/Firewall/SwitchUserListener.php index e72107190449a..af02a2f2452a2 100644 --- a/src/Symfony/Component/Security/Http/Firewall/SwitchUserListener.php +++ b/src/Symfony/Component/Security/Http/Firewall/SwitchUserListener.php @@ -180,7 +180,6 @@ private function attemptSwitchUser(Request $request, string $username): ?TokenIn $this->userChecker->checkPostAuth($user); $roles = $user->getRoles(); - $roles[] = 'ROLE_PREVIOUS_ADMIN'; $originatedFromUri = str_replace('/&', '/?', preg_replace('#[&?]'.$this->usernameParameter.'=[^&]*#', '', $request->getRequestUri())); $token = new SwitchUserToken($user, $this->firewallName, $roles, $token, $originatedFromUri);
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: