I've installed FOSUserBundle and I'd like to customize the urls to be /account/login
, /account/register
, /account/logout
instead of /login
, /register
, /logout
I know I can modify the routing config of the bundle, but it doesn't seem to be the proper way.
You can override i.e the /register
route in your app/config/routing.yml
by re-declaring it after importing FOSUserBundle's XML routes as resources.
fos_user_register: resource: "@FOSUserBundle/Resources/config/routing/registration.xml" prefix: /register # ... fos_user_registration_register: path: /account/register defaults: { _controller: FOSUserBundle:Registration:register }
... or just change the prefix when importing:
fos_user_register: resource: "@FOSUserBundle/Resources/config/routing/registration.xml" prefix: /account/register # no need to override the route
The same goes for /login
and /logout
:
fos_user_security: resource: "@FOSUserBundle/Resources/config/routing/security.xml" # ... fos_user_security_login: path: /account/login defaults: { _controller: FOSUserBundle:Security:login, _method: POST } fos_user_security_logout: path: /account/login defaults: { _controller: FOSUserBundle:Security:logout, _method: POST }
login and logout paths can aswell be configured directly in your app/config/security.yml
:
security: firewalls: your_firewall: # ... form_login: login_path: /account/login # instead of fos_user_security_login # ... logout: path: /account/logout # instead of fos_user_security_logout # ...
You can directly change and then include these in your app/config/routing.yml
( no need to import the ones the bundle provides as resources then) ... or put them all into a single file and include that one as a resource...
# -> from @FOSUserBundle/Resources/routing/change_password.xml fos_user_change_password: pattern: /profile/password/change defaults: { _controller: FOSUserBundle:ChangePassword:changePassword } requirements: _method: GET|POST # -> from @FOSUserBundle/Resources/routing/group.xml fos_user_group_list: pattern: /groups/list defaults: { _controller: FOSUserBundle:Group:list } requirements: _method: GET fos_user_group_new: pattern: /groups/new pattern: defaults: { _controller: FOSUserBundle:Group:new } requirements: _method: GET fos_user_group_show: pattern: /groups/{groupname} defaults: { _controller: FOSUserBundle:Group:show } requirements: _method: GET fos_user_group_edit: pattern: /groups/{groupname}/edit defaults: { _controller: FOSUserBundle:Group:edit } requirements: _method: GET|POST fos_user_group_delete: pattern: /groups/{groupname}/delete defaults: { _controller: FOSUserBundle:Group:delete } requirements: _method: GET # -> from @FOSUserBundle/Resources/routing/profile.xml fos_user_profile_show: pattern: /profile/show defaults: { _controller: FOSUserBundle:Profile:show } requirements: _method: GET fos_user_profile_edit: pattern: /profile/edit defaults: { _controller: FOSUserBundle:Profile:edit } requirements: _method: GET|POST # -> from @FOSUserBundle/Resources/routing/registration.xml fos_user_registration_register: pattern: /registration defaults: { _controller: FOSUserBundle:Registration:register } requirements: _method: GET|POST fos_user_registration_check_email: pattern: /registration/check-email defaults: { _controller: FOSUserBundle:Registration:checkEmail } requirements: _method: GET fos_user_registration_confirm: pattern: /registration/confirm/{token} defaults: { _controller: FOSUserBundle:Registration:confirm } requirements: _method: GET fos_user_registration_confirmed: pattern: /registration/confirmed defaults: { _controller: FOSUserBundle:Registration:confirmed } requirements: _method: GET # -> from @FOSUserBundle/Resources/routing/resetting.xml fos_user_resetting_request: pattern: /profile/password/reset defaults: { _controller: FOSUserBundle:Resetting:request } requirements: _method: GET fos_user_resetting_send_email: pattern: /profile/password/reset defaults: { _controller: FOSUserBundle:Resetting:sendEmail } requirements: _method: POST fos_user_resetting_check_email: pattern: /profile/password/reset/check-email defaults: { _controller: FOSUserBundle:Registration:checkEmail } requirements: _method: GET fos_user_resetting_reset: pattern: /profile/password/reset/{token} defaults: { _controller: FOSUserBundle:Registration:reset } requirements: _method: GET|POST # -> from @FOSUserBundle/Resources/routing/security.xml fos_user_security_login: pattern: /login defaults: { _controller: FOSUserBundle:Security:login } requirements: _method: GET|POST fos_user_security_check: pattern: /login_check defaults: { _controller: FOSUserBundle:Security:check } fos_user_security_logout: pattern: /logout defaults: { _controller: FOSUserBundle:Security:logout } requirements: _method: GET|POST
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With