Search code examples
symfonyfosuserbundleregistration

Symfony 3 | FOSUser Block registration if connected


I'm using FOSUser and I would like to return an exception or simply block access to registration if user is already connected. When I'm connected, by url, I can still go to /register.

This is my access_control :

access_control:
        - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }

I could override registration controller action and return an AccessDeniedException but I'm sure there is a better solution, with security.yml maybe ?


Solution

  • I finally found the answer. I have to use Voters to check user permissions.

    This is doc : http://symfony.com/doc/current/cookbook/security/voters.html

    And there is great example here : http://henrik.bjrnskov.dk/symfony2-anonymous-users-access/

    And this is what I have :

    - { path: ^/register, role: IS_ANONYMOUS }