允许匿名访问Symfony防火墙保护包中的特定URL

chhqkbe1  于 2022-11-16  发布在  其他
关注(0)|答案(2)|浏览(135)

我有一个Symfony软件包,只能使用mydomain.com/box访问
要访问/box,您必须登录,但我想启用匿名访问mydomain.com/box/download

# Security.yml
access_control:
    - { path: ^/box , roles: ROLE_USER}

我该怎么办?

unftdfkk

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

ejk8hzay

ejk8hzay2#

交响乐6

从Symfony 6开始,您需要使用角色PUBLIC_ACCESS而不是IS_AUTHENTICATED_ANONYMOUSLY
https://symfony.com/doc/6.0/security.html#allowing-unsecured-access-i-e-anonymous-users

相关问题