Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony 如何限制对除两个页面之外的所有页面的访问_Symfony - Fatal编程技术网

Symfony 如何限制对除两个页面之外的所有页面的访问

Symfony 如何限制对除两个页面之外的所有页面的访问,symfony,Symfony,我需要阻止除/和/register之外的任何网站的访问,这样每个人都可以访问这两个网站,但必须对其余网站进行身份验证 我该怎么做?我试过的都不管用 firewalls: secured_area: pattern: ^/ anonymous: ~ access_control: - { path: ^/(?!(|register))$, role: ROLE_USER } 防火墙匹配所有网站,并允许访问所有网站 访问控制部分应限制除/和/

我需要阻止除
/
/register
之外的任何网站的访问,这样每个人都可以访问这两个网站,但必须对其余网站进行身份验证

我该怎么做?我试过的都不管用

firewalls:
    secured_area:
        pattern:    ^/
        anonymous: ~

access_control:
    - { path: ^/(?!(|register))$, role: ROLE_USER }
防火墙匹配所有网站,并允许访问所有网站

访问控制部分应限制除
/
/register
之外的所有网站的访问

问题是它不需要在任何地方登录,这意味着我可以自由访问任何url

怎么了?

试试这个

firewalls:
    secured_area:
        pattern:    ^/
        anonymous: ~

    access_control:
        - { path: ^/$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/register$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/, role: IS_AUTHENTICATED_FULLY }
试试这个

firewalls:
    secured_area:
        pattern:    ^/
        anonymous: ~

    access_control:
        - { path: ^/$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/register$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/, role: IS_AUTHENTICATED_FULLY }