0

我有一种使用自定义数据设置安全上下文的方法:

$userEntity = new User();
$userEntity->fromArray($user);

$token           = new UsernamePasswordToken($userEntity, $userEntity->getPassword(), 'secured_area', $userEntity->getRoles());
$session = $this->container->get('session');
$session->set('_security_secured_area', serialize($token));

$this->container->get('security.authentication.manager')->authenticate($token);
$this->container->get('security.context')->setToken($token);

我使用 curl 从另一个应用程序获取用户数据,并希望将其存储为本地“登录用户”。它可以工作,但是在 security.context 中的页面重新加载/重定向之后,我从本地数据库中为具有相同 ID 的用户获取新数据。

我想它可能看起来很复杂,所以问题是:

为什么当我运行$this->get('security.context')->getToken()->getUser()Symfony 时从数据库中获取用户,而不是从会话中获取用户?

4

0 回答 0