2015-07-16 8 views
0

У меня есть 2 пачки, файл маршрутизации app/config/routing является:Добавить кратные брандмауэров в Symfony 2

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

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

Routing файл для ShopDesktopBundle является:

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

login_check: 
    pattern: /login_check 

Routing файл для ShopAdminBundle является:

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

admin_login_check: 
    path: /login_check 

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 

отлично работает аутентификация для ShopDesktopBundle когда я попытался на ShopAdminBundle авторизуйтесь я получаю ошибку: Unable to find the controller for path "/admin/login_check". The route is wrongly configured. Я думаю, что проблема в моем файле security.yml. Не могли бы вы мне помочь? Thx заблаговременно

ответ

2

Как изменилось брандмауэры. user_secured_area костюмы для всех маршрутов, и он никогда не попадает admin_secured_area. Я считаю, что это решит вашу проблему.

firewalls: 
    admin_secured_area: 
     pattern: ^/admin 
     ... 
    user_secured_area: 
     pattern: ^/ 
     ...