2014-09-23 2 views
0

У меня есть один Symfony2 приложение с 3 подобласти:Symfony2 с Fosuserbundle брандмауэр перенаправление с поддомена на основной домен

  • domain.com
  • app.domain.com
  • api.domain.com

в% параметры% домена является: domain.com

у меня есть маршрутизация установки, как это:

domain_app: 
    resource: "@DomainAppBundle/Controller/" 
    type: annotation 
    prefix:/
    host: "app.%domain%" 

domain_api: 
    resource: "@DomainApiBundle/Controller/" 
    type: annotation 
    prefix:/
    host: "api.%domain%" 

domain_front: 
    resource: "@DomainFrontBundle/Controller/" 
    type: annotation 
    prefix:/
    host: "%domain%" 

fos_user: 
    resource: "@FOSUserBundle/Resources/config/routing/all.xml" 
    host:"%domain%" 

А безопасность, как это:

firewalls: 
    main: 
     pattern: ^/ 
     host: "%domain%" 
     form_login: 
      provider: fos_userbundle 
      csrf_provider: form.csrf_provider 
      always_use_default_target_path: false 
      default_target_path: front 
     logout:true 
     anonymous:true 

access_control: 
    - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/admin/, role: ROLE_ADMIN } 
    - { path: ^/, roles: ROLE_USER, host: "app.%domain%" } 
    - { path: ^/, roles: ROLE_USER, host: "api.%domain%" } 

Мой подобласть приложение и апи защищены, как я хочу с http://domain.com/login прекрасно работает.

Но если я не зарегистрирован, когда я загружаю напрямую http://app.domain.com, я перенаправлен на http://app.domain.com/login. Я не хочу перенаправлять на субдомен, я хочу, чтобы брандмауэр перенаправлялся, если не был зарегистрирован только на основном http://domain.com/login

Может ли кто-нибудь помочь мне в этом?

Спасибо;)

ответ

1

Вы просто должны переопределить маршрут входа и использовать его в основной конфигурации системы безопасности. Не забудьте добавить хост-partemerter к новому пути входа. Я думаю, что этот ответ может помочь вам:

Symfony 2 Login on main domain only

+0

Спасибо за помощь! Он отлично работает;) –

Смежные вопросы