2

security.ymlの構成を削除しようとすると、anonymous: ~システムはエラー 310: リダイレクト ループを返します。

これまでの構成は次のとおりです。

    firewalls:
    secured_area:
        pattern: ^/
        #anonymous: ~
        form_login:
            check_path: /login_check
            login_path: /login
        logout:
            path: /logout
4

1 に答える 1

4

これを試して:

firewalls:
    secured_area:
        pattern: ^/
        #anonymous: ~
        form_login:
            check_path: /login_check
            login_path: /login
        logout:
            path: /logout
    login_firewall:
        pattern:    ^/login$
        anonymous:  ~

ドキュメントhttp://symfony.com/doc/current/book/security.html#book-security-common-pitfallsを参照してください

ログインページが安全でないことを確認してください

また、ログイン ページでロールを表示する必要がないことを確認してください。たとえば、すべての URL (/login URL を含む) に対して ROLE_ADMIN ロールを必要とする次の構成では、リダイレクト ループが発生します。

access_control:
    - { path: ^/, roles: ROLE_ADMIN }

/login URL のアクセス制御を削除すると、問題が解決します。

access_control:
    - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/, roles: ROLE_ADMIN }

また、ファイアウォールで匿名ユーザーが許可されていない場合は、ログイン ページで匿名ユーザーを許可する特別なファイアウォールを作成する必要があります。

firewalls:
    login_firewall:
        pattern:    ^/login$
        anonymous:  ~
    secured_area:
        pattern:    ^/
        form_login: ~
于 2012-11-27T04:32:16.403 に答える