Symfony: How do I refresh the authenticated user from the database?

前端 未结 5 1812
陌清茗
陌清茗 2020-12-03 14:26

Say for example I grant a new role to the currently authenticated user in a controller, like so:

$em = $this->getDoctrine()->getManager();
$loggedInUse         


        
5条回答
  •  天涯浪人
    2020-12-03 15:14

    In Symfony 4

    public function somename(ObjectManager $om, TokenStorageInterface $ts)
        {
            $user = $this->getUser();
            if ($user) {
                $user->setRoles(['ROLE_VIP']); //change/update role
                // persist if need
                $om->flush();
                $ts->setToken(
                    new PostAuthenticationGuardToken($user, 'main', $user->getRoles())
                );
                //...
            } else {
                //...
            }
        }
    

提交回复
热议问题