FOSBundle 重定向循环

FOSBundle redirect loop

我将 SF2 与 FOS 用户包一起使用。

security:
    providers:
        fos_userbundle:
            id: fos_user.user_provider.username

    encoders:
        FOS\UserBundle\Model\UserInterface: sha512

    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt|error)|css|images|js)/
            security: false

        main:
            pattern: ^/
            form_login:
                provider: fos_userbundle
                csrf_provider: form.csrf_provider
            logout:       true
            anonymous:    false

    access_control:
        - { path: ^/login, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/admin/, role: ROLE_ADMIN }

    role_hierarchy:
        ROLE_ADMIN:       ROLE_USER
        ROLE_SUPER_ADMIN: ROLE_ADMIN

如果我将我的 main: anonymous: false 设置为 true,我将不再获得重定向循环,但人们无需登录即可访问所有内容(他们应该登录!)

认为 access_control 有一个 ^/login 路由的条目,因此人们不需要进行身份验证,但我怀疑它不需要没用。

用这个语句:

 anonymous:    false

这不再有效:

  - { path: ^/login, role: IS_AUTHENTICATED_ANONYMOUSLY }

因此框架无法重定向到导致重定向循环的登录(FOS 需要匿名才能正常工作)

...我不知道它是否有效,但您可以尝试设置

{ path: ^/*, role: ROLE_USER }

作为资产控制的第一行或最后一行,...不能保证它有效,这是我会尝试创建您正在寻找的结果