multiple firewalls with symfony2 multiple firewalls with symfony2 symfony symfony

multiple firewalls with symfony2


I finally found the answer. Here is the final working security.yml :

security:    encoders:        entity_admin:            class: MyBundle\Entity\AdminUser            algorithm: sha512            iterations: 5000            encode_as_base64: false        entity_members:            class: MyBundle\Entity\User            algorithm: sha512            iterations: 1000            encode_as_base64: false    providers:        entity_admin:            entity:                class: MyBundle\Entity\AdminUser                property: username        entity_members:            entity:                class: MyBundle\Entity\User                property: username    firewalls:        admin_secured_area:            pattern: /admin/.*            provider: entity_admin            anonymous: ~            form_login:                check_path: /admin/login_check                login_path: /admin/login            logout:                path:   /admin/logout                target: /admin/        members_secured_area:            pattern: /members/.*            provider: entity_members            anonymous: ~            form_login:                check_path: /members/login_check                login_path: /members/login            logout:                path:   /members/logout                target: /members/    access_control:        admin_login:            path: /admin/login            roles: IS_AUTHENTICATED_ANONYMOUSLY        admin_area:            path: /admin/.*            roles: ROLE_ADMIN        members_login:            path: /members/login            roles: IS_AUTHENTICATED_ANONYMOUSLY        members_register:            path: /members/register            roles: IS_AUTHENTICATED_ANONYMOUSLY        members_area:            path: /members/.*            roles: ROLE_USER

And a pastebin


In your yml config file put:

security:    firewalls:        filrewall_1:            ...        filrewall_2:            ...

Post a comment if you have problems.

See also : http://symfony.com/doc/current/reference/configuration/security.html


You can have users authenticate into one firewall and be authenticated on others by configuring the same firewall context. Take for example this app/config/security.yml:

security:    firewalls:        filrewall_1:            ...            context: my_context        filrewall_2:            ...            context: my_context

http://symfony.com/doc/current/reference/configuration/security.html#firewall-context