Redirect after login in Symfony 2

Roel Veldhuizen picture Roel Veldhuizen · Dec 4, 2011 · Viewed 33.7k times · Source

In Symfony 2 you can set up a target for the logout so that after logout you will be redirected to /main. However with the login you will be redirected to /. Is there a manner to setup a target for a (successful) login as well?

firewalls:
    dev:
        pattern:  ^/(_(profiler|wdt)|css|images|js)/
        security: false

    login:
        pattern:  ^/m/login$
        security: false

    secured_area:
        pattern:    ^/m
        form_login:
            check_path: /m/login_check
            login_path: /m/login
        logout:
            path:   /m/logout
            target: /main
        anonymous: ~

Answer

richsage picture richsage · Dec 4, 2011

Yes. You can use the target_path option. Using your example above:

firewalls:
    secured_area:
        form_login:
            always_use_default_target_path: true
            default_target_path: /loggedinpage

With the above the user will always be redirected to /loggedinpage upon a successful login. Details of all the options for the security component are available in the Symfony docs (albeit slightly hidden away!)