Php Symfony 3安全-访问控制不适用于一条路线
我目前正在开发一个PDF生成器,但访问url时遇到问题 任何人都可以下载PDF。 在my security.yml中,我目前有: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
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 }