2013-10-22 13 views
5

ロケールでアクションを保護する方法 - これはsymfony1.4ではかなり簡単でした。 /確保/ + /アカウント^/[-Z]:ロケールで保護された領域

私のsecurity.yml:私は今symfony2.3使用

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 } 

を私は正規表現との記事を読みます。しかし、それは動作しません。どのように私はロケールで地域を確保することができますどのようなアイデア。私はここにいくつかの記事を見つけたが、彼らはすべて動作しません。

ありがとうございました!あなたは2つだけのロケールを使用している場合は

+1

{_locale}を置き換えるべきではないでしょうか。特定のエラー? –

+0

ああ、申し訳ありませんが、投稿を更新します。 – user2906347

+0

'{_locale}'を '%_locale%'や '%locale%'で置き換えるべきではありませんか? –

答えて

3

:YoannChの

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

回答も正解です。

あなたが正確に動作しません何%_locale%または%locale%

関連する問題