2012-03-08 49 views
10

我使用JMSI18nRoutingBundle路由轉換,自定義配置,即爲所有路由沒有前綴使用i18n路由時的Symfony2安全性?

# app/config/config.yml 
jms_i18n_routing: 
    default_locale: it 
    locales: [it, en] 
    strategy: custom 

www.example.com/contatti 
www.example.com/contact 

這是工作的罰款,一個這樣的包。不是我必須開發項目的管理部分,當然要保證它。我卡在安全配置(摘錄):

# app/config/config.yml 
security: 
    firewalls: 
     secured_area: 
      pattern: ^/ 
      anonymous: ~ 
      form_login: 
       login_path: /login 
       check_path: /login_check 

login_path使用security.yml靜態定義。那麼,我應該如何指定正確的登錄(本地化)路徑?假設形式是accessibile使用:

www.example.com/accesso 
www.example.com/login 
+1

使用例如fos_user_login的路徑名,該路徑名在安全配置(login_path:fos_user_login)中定義/ accesso和/ login而不是/ login。 – 2012-06-11 08:17:41

回答

4

由於Wojciech Jasiński在評論中已經提到的,你應該使用路徑名稱,而不是模式。

只是帶來了一些光...
你應該定義你的路線

gremo_login_path: 
    pattern: /login 

...在security.yml

security: 
    firewalls: 
     secured_area: 
      pattern: ^/ 
      anonymous: ~ 
      form_login: 
       login_path: gremo_login_path 
       check_path: /login_check 

見也使用它的相關問題:
https://github.com/schmittjoh/JMSI18nRoutingBundle/issues/7
https://github.com/symfony/symfony/pull/3791/files