Search code examples
symfonyphp-7symfony-security

Block login page for logged in users on Symfony3


I made a registration/login form example on Symfony3.

After user logged in still can access login.html.twig

How can i control this on security.yml or redirect on login.html.twig?

my access_control;

access_control:
            - { path: ^/registration-form-submission$, role: IS_AUTHENTICATED_ANONYMOUSLY }
            - { path: ^/(login|register)$, role: IS_AUTHENTICATED_ANONYMOUSLY }
            - { path: ^/, role: ROLE_USER }

Solution

  • I added the following code to controllers RegistrationController and LoginController:

    if ($this->container->get('security.authorization_checker')->isGranted('ROLE_USER')) {
        return new RedirectResponse('/');
    }