我有一个Symfony软件包,只能使用mydomain.com/box访问要访问/box,您必须登录,但我想启用匿名访问mydomain.com/box/download
mydomain.com/box
mydomain.com/box/download
# Security.yml access_control: - { path: ^/box , roles: ROLE_USER}
我该怎么办?
unftdfkk1#
# security.yml access_control: - { path: ^/box/download , roles: IS_AUTHENTICATED_ANONYMOUSLY} - { path: ^/box , roles: ROLE_USER}
Symfony 2防火墙是按顺序处理的,只会应用第一个匹配的防火墙。因此,如果您将/box/download放在/box之前,则会处理/box/download规则,而忽略其余规则。http://symfony.com/doc/current/book/security.html
ejk8hzay2#
交响乐6
从Symfony 6开始,您需要使用角色PUBLIC_ACCESS而不是IS_AUTHENTICATED_ANONYMOUSLY。https://symfony.com/doc/6.0/security.html#allowing-unsecured-access-i-e-anonymous-users
PUBLIC_ACCESS
IS_AUTHENTICATED_ANONYMOUSLY
2条答案
按热度按时间unftdfkk1#
Symfony 2防火墙是按顺序处理的,只会应用第一个匹配的防火墙。因此,如果您将/box/download放在/box之前,则会处理/box/download规则,而忽略其余规则。
http://symfony.com/doc/current/book/security.html
ejk8hzay2#
交响乐6
从Symfony 6开始,您需要使用角色
PUBLIC_ACCESS
而不是IS_AUTHENTICATED_ANONYMOUSLY
。https://symfony.com/doc/6.0/security.html#allowing-unsecured-access-i-e-anonymous-users