Regex 访问控制正则表达式symfony 2

Regex 访问控制正则表达式symfony 2,regex,symfony,access-control,Regex,Symfony,Access Control,我需要帮助来配置symfony网站的访问控制部分。 我希望每个人都能访问: / : the homepage /login : the login page /login_check : the check login page for FOSUserBundle /register : the register page of FOSUserBundle /resetting/request : the resetting password page of FOSUserBundle 我希望

我需要帮助来配置symfony网站的访问控制部分。 我希望每个人都能访问:

/ : the homepage
/login : the login page
/login_check : the check login page for FOSUserBundle
/register : the register page of FOSUserBundle
/resetting/request : the resetting password page of FOSUserBundle
我希望用户对所有其他内容进行身份验证,例如:/abc、/xxx、/yy/xx……等等

我把它放在security.yml中,但它不起作用,用户在任何情况下都可以完全访问:

access_control:    
        - { path: /_wdt/.*, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: /_profiler/.*, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: /login, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: /login_check, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: /resetting/request, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: /register, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: /, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: /*, role: IS_AUTHENTICATED_FULLY }
有什么问题吗


谢谢;)

问题是您在最后一行中缺少一个句点:

      - { path: /*, role: IS_AUTHENTICATED_FULLY }
              ^^^^^
/*
表示零个或多个斜杠(/)。它应该是
/.*
,表示任何后跟斜杠的内容

正确的输入应该类似于:

      - { path: /.*, role: IS_AUTHENTICATED_FULLY }

ACL的奇怪使用。acl正则表达式要简单得多<代码>^标记url的开头<代码>$标记匹配url的结尾。如果不存在
$
,则在“regex”匹配之后。没有星号。哦,登录检查应该是安全的

access_control:
    - { path: ^/$, role: IS_AUTHENTICATED_ANONYMOUSLY }  
    - { path: ^/_wdt, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/_profiler, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/, role: IS_AUTHENTICATED_FULLY }

问题是您缺少一个周期是的,我纠正了这一点,但主要问题是我需要在前面加上:-{path:^/$,role:is\u AUTHENTICATED\u ANONYMOUSLY}ACL“regex”更简单。没有星号之类的东西。