Php Symfony 3安全-访问控制不适用于一条路线

Php Symfony 3安全-访问控制不适用于一条路线,php,symfony,security,routing,roles,Php,Symfony,Security,Routing,Roles,我目前正在开发一个PDF生成器,但访问url时遇到问题 任何人都可以下载PDF。 在my security.yml中,我目前有: security: encoders: FOS\UserBundle\Model\UserInterface: bcrypt role_hierarchy: ~ providers: fos_userbundle: id: fos_user.user_provider.username

我目前正在开发一个PDF生成器,但访问url时遇到问题

任何人都可以下载PDF。 在my security.yml中,我目前有:

security:
    encoders:
        FOS\UserBundle\Model\UserInterface: bcrypt

    role_hierarchy: ~

    providers:
        fos_userbundle:
            id: fos_user.user_provider.username

    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false
        main:
            pattern: ^/
            form_login:
                provider: fos_userbundle
                csrf_token_generator: security.csrf.token_manager
            logout:       true
            anonymous:    true

    access_control:
        - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/gc/$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/admin, role: ROLE_USER }
        - { path: ^/, role: ROLE_USER }
我希望人们能够访问以下url:/admin/maintenance/pdf/{id}

因此,我添加了以下行:

access_control:
        - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/gc/$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/admin, role: ROLE_USER }
        - { path: ^/, role: ROLE_USER }
        - { path: ^/admin/maintenance/pdf/$, role: [ROLE_USER,IS_AUTHENTICATED_ANONYMOUSLY] }
但当我没有登录时,我仍然会被重定向到登录页面

我做了几个测试,下面的一行有问题:

- {path: ^ /, role: ROLE_USER}
我猜我对url的访问配置错误

有人能帮我吗?
感谢您

向上移动更具体的规则,以便首先匹配这些规则。

ACL中的项目是按顺序处理的,因此您需要将其放在:


将其向上移动,以便^/admin/maintenance/pdf/$首先进行测试事实上,将其从admin移动到根目录是值得的:^/maintenance/pdf/$它似乎不属于那里。需要等待1分钟哈哈:我现在不能^ ^
access_control:
        - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/gc/$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/admin/maintenance/pdf/$, role: [ROLE_USER,IS_AUTHENTICATED_ANONYMOUSLY] }
        - { path: ^/admin, role: ROLE_USER }
        - { path: ^/, role: ROLE_USER }