나는 내 응용 프로그램에서 사용자를 가장 할 수 있도록하려면, 그래서 사용자가 "B"에 사용자 "A"에서 내 사용자를 변경하려고하면 나는 tutorial from the website이미 다른 사용자로 가장 할 때 사용자를 가장합니까? 내가하려고하면
을 따라 작동하지만, 이미 사용자 "B"를 가장하는거야 동안 사용자가 "C"로 변경은 attemptSwitchUser
방법이 excepcion 발생 :
You are already switched to "B" user.
500 Internal Server Error - LogicException
이 현재 사용자 이름 (B) 거세한 숫양이 방법 검사가 사용자 이름과 동일하기 때문에를 우리 명의를 도용하고자 함 (C)
$token = $this->securityContext->getToken();
$originalToken = $this->getOriginalToken($token);
if (false !== $originalToken) {
if ($token->getUsername() === $request->get($this->usernameParameter)) {
return $token;
} else {
throw new \LogicException(sprintf('You are already switched to "%s" user.', $token->getUsername()));
}
}
하지만 분명히 이것은 결코 사실 일 수는 없으므로, 이것이 Symfony 코드의 버그인지 또는 내가 누락 된 다른 것이 있는지는 알 수 없습니다.
정말 버그입니까? 이 코드 블록을 주석 처리하지 않고이 기능을 수행 할 수 있습니까?
으로 다시 전환해야 할 수도 있습니다. 잘못된 링크를 잘라내어 붙여 넣으면 "사용자 B"로 가장 할 수있는 동작으로 연결됩니다. 이미 ' 사용자 B " – DonCallisto
아니오, 그 경우는 아닙니다. DonCallisto – zootropo