0

除了某些 url,我需要拒绝匿名连接。

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}”行可以完成这项工作,但会覆盖我的防火墙“安装”,因为它们共享相同的根(模式/)。

我能怎么做?

4

1 回答 1

1

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

firewalls:
        install:
            pattern:    ^/install/.*
            security:  false
        main:
            pattern: ^/(?!install/)
            ...
于 2012-08-14T20:07:07.933 回答