2014-05-30

[php][symfony] FOSUserBundle - modyfikacja routingu

Cel


Zmienić ścieżkę logowania z:

moja_witryna.lh/login
na:

moja_witryna.lh/xyz_login

Rozwiązanie


Aby tego dokonać wystarczą dwa proste kroki przedstawione poniżej.

Usuwamy domyślny routing fos_user_security i dajemy własny


W pliku routing.yml modyfikujemy zapis

fos_user_security:
    resource: "@FOSUserBundle/Resources/config/routing/security.xml"

na:

fos_user_security_login:
    pattern: /xyz_login
    defaults: { _controller: FOSUserBundle:Security:login }

fos_user_security_check:
    pattern: /xyz_login_check
    defaults: { _controller: FOSUserBundle:Security:check }

fos_user_security_logout:
    pattern: /xyz_logout
    defaults: { _controller: FOSUserBundle:Security:logout }

Modyfikujemy security.yml


Zmieniamy:

firewalls:
        main:
            pattern: ^/
            form_login:
                provider: fos_userbundle
                csrf_provider: form.csrf_provider
            logout:       true
            anonymous:    true

na:

firewalls:
        main:
            pattern: ^/
            form_login:
                provider: fos_userbundle
                csrf_provider: form.csrf_provider
                login_path: fos_user_security_login
                check_path: fos_user_security_check
            logout:
                path: fos_user_security_logout
            anonymous:    true