当我根本没有登录时,我正在使用以下代码以用户身份登录;
$token = new UsernamePasswordToken($user, $user->getPassword(), 'main', $user->getRoles());
$this->get('security.context')->setToken($token);
$event = new InteractiveLoginEvent($this->getRequest(), $token);
$this->get("event_dispatcher")->dispatch("security.interactive_login", $event);
try
{
$request = $this->container->get('request')->getSession()->set('_security_' . "main", serialize($token));
}
catch(InactiveScopeException $e)
{
die($e->getMessage());
}
return new RedirectResponse($this->container->get('router')->generate('fos_user_profile_show'));
登录后,我再次使用相同的代码以另一个用户身份重新登录。当我已经登录时,只有相同的代码会失败。
因此,如果我是匿名的,它可以工作,但是一旦我通过身份验证,它就会失败。
我是否需要做一些额外的事情以便即使我已经登录并想以其他用户身份登录也能正常工作?