2013-10-22 18 views
5

Come posso proteggere le azioni con le impostazioni locali - questo è stato abbastanza semplice in symfony1.4. Io uso la società symfony2.3:Area protetta con impostazioni internazionali

mio security.yml:

firewalls: 
    dev: 
     pattern: ^/(_(profiler|wdt)|css|images|js)/ 
     security: false 

    login: 
     pattern: frontend_account_login 
     security: false 


    secured_area: 
     pattern: ^/ 
     anonymous: ~ 
     http_basic: 
      realm: "Secured Demo Area" 
     form_login: 
      check_path: frontend_account_security_check 
      login_path: frontend_account_login 
      use_referer:  true 
      default_target_path: frontend_account_hello 
     logout: 
      path: /logout 
      target: frontend_account_login   #anonymous: ~ 
     #http_basic: 
     # realm: "Secured Demo Area" 

access_control: 
    #This works: 
    - { path: ^/de/account/secured/, roles: ROLE_ADMIN } 
    - { path: ^/en/account/secured/, roles: ROLE_ADMIN } 
    #I want it kind of that way 
    - { path: ^/{_locale}/account/secured/, roles: ROLE_ADMIN } 

ho letto un post con regex: ^/[a-z] +/account// assicurato. Ma non funziona. Qualche idea su come posso proteggere le aree con le impostazioni locali. Ho trovato alcuni post qui ma non funzionano tutti.

Grazie !!!

+1

Cosa non funziona esattamente? Qualche errore specifico? –

+0

Oh, mi dispiace, aggiorno il post. – user2906347

+0

Non dovresti sostituire '{_locale}' con '% _locale%' o '% locale%'? –

risposta

3

Se avete solo due locali:

- { path: ^/(en|de)/account/secured/, roles: ROLE_ADMIN } 
1

Risposta del YoannCh è anche corretto.

Non dovrebbe sostituire il {_locale} da un %_locale% o %locale%

Problemi correlati