doujiushi9007 2015-07-16 11:26
浏览 88
已采纳

在symfony 2中添加多个防火墙

I have 2 bundles, the routing file app/config/routing is :

shop_admin:
    resource: "@ShopAdminBundle/Resources/config/routing.yml"
    prefix:   /admin

shop_desktop:
    resource: "@ShopDesktopBundle/Resources/config/routing.yml"
    prefix:   /

Routing file for ShopDesktopBundle is :

login:
   pattern:   /login
   defaults:  { _controller: ShopDesktopBundle:User:login }

login_check:
   pattern:   /login_check

Routing file for ShopAdminBundle is :

admin_login:
   path:   /login
   defaults:  { _controller: ShopAdminBundle:Login:login }

admin_login_check:
   path:   /login_check

The security.yml :

firewalls:
    # disables authentication for assets and the profiler, adapt it according to your needs
    user_secured_area:
        pattern:    ^/
        form_login:
            login_path:  login
            check_path:  login_check
            username_parameter: _username
            password_parameter: _password
        logout:
            invalidate_session: true
            path:   shop_logout_user
            target: /
        anonymous: true
    admin_secured_area:
        pattern: ^/admin
        form_login:
            login_path: /admin/login
            check_path: /admin/login_check
            username_parameter: _username
            password_parameter: _password
        anonymous: true

The authentification work fine for the ShopDesktopBundle when I tried to authentificate on ShopAdminBundle I get the error : Unable to find the controller for path "/admin/login_check". The route is wrongly configured. I think the problem is in my file security.yml. Can you help me please? Thx in advance

  • 写回答

1条回答 默认 最新

  • douti0687 2015-07-16 11:55
    关注

    As first thing change firewalls position. user_secured_area suits for all routes and it never hits admin_secured_area. I believe it will solve your issue.

    firewalls:
        admin_secured_area:
           pattern: ^/admin
           ...
        user_secured_area:
            pattern: ^/
            ...
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?