I am trying to change the role of a user, using the FOSUserBundle. The problem is: if the user is logged at the same time, he has to relog to see the new role.
Any solutions ?
I am trying to change the role of a user, using the FOSUserBundle. The problem is: if the user is logged at the same time, he has to relog to see the new role.
Any solutions ?
Try this in your controller:
See FOS/UserBundle/Model/UserManager.php
1: You must enable switch_role: true in your firewall configuration. 2: Next you must allow the role of ROLE_ADMIN to be able to switched into another role. 3: just make link to the ?_switch_role=userNameCanonical
its mostly done by symfony security fos has nothing to do with the role switching.
According to the Security Configuration Reference, there's a
always_authenticate_before_granting
option. There's not much informations about that, but I've tried it with custom roles loading from database and it does the trick. It looks like everytime you will make a new request, the security component will reload roles.So if you want to make sure your roles are refreshed and reloaded in your user session just set this option to
true
in yoursecurity.yml
: