Symfony2: how to log user out manually in controller?

后端 未结 5 622
清酒与你
清酒与你 2020-11-28 23:35

i would like to do something like that in controller to log user out:

$user = $this->get(\'security.context\')->getToken()->getUser();
$user->lo         


        
5条回答
  •  抹茶落季
    2020-11-29 00:07

    We have to set user as an anonymous user when logging out. Then we can use
    $token->getUser()->getRoles(); in controller or {% if is_granted('ROLE_USER') %} in the twig template.

    use Symfony\Component\Security\Core\Authentication\Token\AnonymousToken;
    ...
    //$providerKey = $this->container->getParameter('fos_user.firewall_name');
    $token = new AnonymousToken($providerKey, 'anon.');
    $this->get('security.context')->setToken($token);
    $this->get('request')->getSession()->invalidate();
    

提交回复
热议问题