2012-08-14 55 views
0

我需要拒绝除某些网址之外的匿名连接。拒绝匿名连接,除了某些网址

firewalls: 
     install: 
      pattern: ^/install/.* 
      security: false 
     main: 
      pattern: ^/ 
      form_login: 
       provider: fos_userbundle 
       login_path: /login 
       check_path: /login_check 
       use_forward: true 
       always_use_default_target_path: true 
       default_target_path:   /
       post_only: true 
      logout: true 
      anonymous: ~ 

    access_control: 
     - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY } 
     - { path: ^/login_check, role: IS_AUTHENTICATED_ANONYMOUSLY } 
     - { path: ^/install/, role: IS_AUTHENTICATED_ANONYMOUSLY } 
     - { path: ^/*, roles: ROLE_USER } 

这听起来像行“ - {路径:^/*,角色:ROLE_USER}”不工作,但能战胜我的防火墙“安装”,因为他们同根同源(模式/)。

我该怎么办?

回答

1

一个快速的方法是从你的防火墙main排除/install路径:

firewalls: 
     install: 
      pattern: ^/install/.* 
      security: false 
     main: 
      pattern: ^/(?!install/) 
      ... 
+0

这是很好的。谢谢 – Chopchop 2012-08-20 08:12:31