我需要阻止访问除/
和/register
之外的任何网站,以便每个人都可以访问这两个网站,但必须对其余网站进行身份验证。
我该怎么做?我没有尝试过任何工作。
firewalls:
secured_area:
pattern: ^/
anonymous: ~
access_control:
- { path: ^/(?!(|register))$, role: ROLE_USER }
防火墙匹配所有网站,并允许访问所有网站。
access_control部分应限制对/
和/register
以外的所有网站的访问权限。
嗯,问题是它不需要在任何地方登录,这意味着我可以自由访问任何网址。
怎么了?
答案 0 :(得分:2)
试试这个
firewalls:
secured_area:
pattern: ^/
anonymous: ~
access_control:
- { path: ^/$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/, role: IS_AUTHENTICATED_FULLY }