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

簡単な方法の1つは、ファイアウォール/installからパスを除外することです。main

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