[英]Symfony 3 security - Access_control doesn't work for one route
I'm currently working on a PDF generator, but I'm having a problem accessing the url. 我目前正在使用PDF生成器,但是访问URL时遇到问题。
Anyone should be able to download the PDF. 任何人都应该能够下载PDF。 In my security.yml I currently have this: 在我的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 }
I would like people to have access to the following url: /admin/maintenance/pdf/{id}
我希望人们可以访问以下网址: /admin/maintenance/pdf/{id}
So I added the following line: 因此,我添加了以下行:
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] }
But I'm still redirected to the login page when I'm not logged in. 但是,当我没有登录时,我仍然被重定向到登录页面。
I did several tests, and it is the following line that is problematic: 我做了几次测试,以下几行是有问题的:
- {path: ^ /, role: ROLE_USER}
I guess I misconfigured my access to the url. 我想我对网址的访问配置有误。
Someone can help me ? 有人可以帮助我吗? Thank you 谢谢
Items in ACL are processed sequently, so you need to put it before: ACL中的项目是顺序处理的,因此您需要将其放在前面:
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 }
上移更具体的规则,以便它们首先匹配。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.