@@ 145-148 (lines=4) @@ | ||
142 | $this->dispatchSwitchUserEvent($request, $token); |
|
143 | return $originalToken; |
|
144 | } |
|
145 | } elseif (false === $this->accessDecisionManager->decide($token, [$this->role])) { |
|
146 | $this->log(sprintf('Token has no right to impersonate "%s", access denied: %s', $username, $originalToken)); |
|
147 | throw new AccessDeniedException(sprintf('Token has no right to impersonate "%s", access denied: %s', $username, $originalToken)); |
|
148 | } |
|
149 | ||
150 | $this->log(sprintf('Attempting to impersonate "%s"', $username)); |
|
151 | ||
@@ 136-139 (lines=4) @@ | ||
133 | if (false !== $originalToken) { |
|
134 | $this->log(sprintf('Original token found: %s', $originalToken)); |
|
135 | // User is impersonating someone, they are trying to switch directly to another user, make sure original user has access. |
|
136 | if (false === $this->accessDecisionManager->decide($originalToken, [$this->role])) { |
|
137 | $this->log(sprintf('Original token has no right to impersonate "%s", access denied: %s', $username, $originalToken)); |
|
138 | throw new AccessDeniedException(sprintf('Original token has no right to impersonate "%s", access denied: %s', $username, $originalToken)); |
|
139 | } |
|
140 | if ($originalToken->getUsername() === $username) { |
|
141 | $this->log(sprintf('Original token is already for "%s", switching to original token: %s', $username, $originalToken)); |
|
142 | $this->dispatchSwitchUserEvent($request, $token); |