2017-03-15 21 views
0

symfony 2.4.2で制作されたWebサイトで、1ページ(ダウンロード)が制限されており、アクセスするためのユーザとパスワードが必要です。Symfony2.4.2特定のページへのアクセスを制限する

問題は、ロケールを変更するだけでなく、「スラグ」を変更するだけでなく、さまざまな言語に異なるURLが必要だったことです。

普通の人のようになり、ボタンをクリックしてページにアクセスすると、ユーザーとパスワードを尋ねられますが、サポートされている言語のいずれかで、サポートされている別の言語のロケールでurlを入力するとそれはあなたにアクセスを頼むことなくパスすることができます。

これは私のrouting.ymlです:

 frontend_descarregues_ca: 
     path: /descarregues.html 
     defaults: {_controller: FrontendBundle:Default:descarregues, _locale: ca } 

    frontend_descarregues_es: 
     path: /descargas.html 
     defaults: { _controller: FrontendBundle:Default:descarregues, _locale: es } 

    frontend_descarregues_fr: 
     path: /telechargements.html 
     defaults: { _controller: FrontendBundle:Default:descarregues, _locale: fr } 

この私のsecurity.yml:

security: 
     firewalls: 
      dev: 
       pattern: ^/(_(profiler|wdt)|css|images|js)/ 
       security: false 
     default: 
      pattern:  ^/ca/descarregues.html 
      provider:  in_memory 
      http_basic: ~ 
      anonymous:  ~ 
     default_fr: 
      pattern:  ^/fr/telechargements.html 
      provider:  in_memory 
      http_basic: ~ 
      anonymous:  ~ 
     default_es: 
      pattern:  ^/es/descargas.html 
      provider:  in_memory 
      http_basic: ~ 
      anonymous:  ~ 

     access_control: 
      - { path: ^/ca/descarregues.html, roles: ROLE_DOWN } 
      - { path: ^/es/descargas.html, roles: ROLE_DOWN } 
      - { path: ^/fr/telechargements.html, roles: ROLE_DOWN } 

     providers: 
      in_memory: 
       memory: 
        users: 
         someuser: 
          password: somepassword 
          roles: 'ROLE_DOWN' 

私は繰り返し、これはsymfonyの2.4.2

である私はへの要求を使用しようとしました指定された「スラグ」を持つロケールを有効にしてページに入ることができますが、それはアクセスが尋ねられないことが起こったことになります。

この問題を解決する方法を知っている人はいますか? (ただ、リマインダとして、これはsymfonyの2.4.2である)

答えて

0

はこのお試しください:これはそれです

security: 
    firewalls: 
     dev: 
      pattern: ^/(_(profiler|wdt)|css|images|js)/ 
      security: false 
    default: 
     pattern:  ^/[a-zA-Z]+/descarregues.html 
     provider:  in_memory 
     http_basic: ~ 
     anonymous:  ~ 
    default_fr: 
     pattern:  ^/[a-zA-Z]+/telechargements.html 
     provider:  in_memory 
     http_basic: ~ 
     anonymous:  ~ 
    default_es: 
     pattern:  ^/[a-zA-Z]+/descargas.html 
     provider:  in_memory 
     http_basic: ~ 
     anonymous:  ~ 

    access_control: 
     - { path: ^/[a-zA-Z]+/descarregues.html, roles: ROLE_DOWN } 
     - { path: ^/[a-zA-Z]+/descargas.html, roles: ROLE_DOWN } 
     - { path: ^/[a-zA-Z]+/telechargements.html, roles: ROLE_DOWN } 

    providers: 
     in_memory: 
      memory: 
       users: 
        someuser: 
         password: somepassword 
         roles: 'ROLE_DOWN' 
+0

を、ありがとうございました。この問題は6時間気になっていました。ちょっとしたことをやってみると、これはファイアウォールでもこの​​正規表現を使用してくれたことに感謝しています。 – iscato

関連する問題