2012-08-09 17 views
9

Symfony2'nin ortamına bağlı olarak dahil edilecek farklı security.yml dosyalarını dahil etmenin bir yolunu bulamadım. Örneğin, kabul testlerim için bir bellek içi kullanıcı sağlayıcısına sahip olmak istedim, çünkü buradaki varlıklarımı ve malzemelerini gerçekten test etmem gerekiyor, sadece görüşlerim için bir kabul testi yapmak istiyorum.Farklı ortamlar için farklı security.yml dosyaları

Ancak, ortaya çıktığı gibi, yapılması kolay bir şey değil. Ben config.yml içinde security.yml kaldırıldı, security_prod.yml olarak yeniden adlandırılmış ve in_memory kullanıcı sağlayıcısı olan bir security_test.yml oluşturuldu. Sonra sırasıyla üretim ve test yapılandırmalarımda security_prod.yml ve security_test.yml'u ekledim.

Oysa hiç işe görünmüyor: security.yml dosya adı (Symfony'de için yol çok garip olurdu) ve bu değildi kodlanmış edilmiş gibi bana göründü

$ SYMFONY_ENV=test app/console cache:clear              

    [Symfony\Component\Config\Definition\Exception\InvalidConfigurationException]               
    You are not allowed to define new elements for path "security.providers". Please define all elements for this path in one config file. 

$ SYMFONY_ENV=prod app/console cache:clear              

    [Symfony\Component\Config\Definition\Exception\ForbiddenOverwriteException]                   
    Configuration path "security.access_control" cannot be overwritten. You have to define all options for this path, and any of its sub-paths in one 
    configuration section.                                

.

Soru şu: Symfony ile birden çok security.yml s nasıl alabilirim? Ve bu davranışa ne sebep olabilir? onu aramaya (ve kırmızı bir yorum yok) olan kişiler için

+3

(temelde yazar bu hatayı yaptım) dahil emin dosyalar dahil)? –

+2

@CarlosGranados, endişeniz için teşekkürler, ama sorun benim ofis koltuğumda otururken bulundu ortaya çıktı. Ben security.ymls iki kere ekledim :) – kix

+0

Bu yüzden şüphelendim ve bu yüzden sizden bu dosyaları göndermenizi istedim. –

cevap

2

Talimat: config_prod.yml

  • security dosyaları farklı oluşturun config_test.yml, config_dev.yml:

    1. farklı ortamlar için farklı config dosyaları oluşturma security_test.yml, security_dev.yml, security_prod.yml
    2. İthalat config_test.yml içinde security_test.yml ve benzeri diğer ortamlar için. config_test.yml için örnek:

      imports: 
          - { resource: security_test.yml } 
      
    3. olun security_*.yml sadece bir kez size config.yml config_prod.yml ve config_test.yml (ya da en azından parçaları gönderebilir miyim
  • İlgili konular