【问题标题】:Access Control regex symfony 2访问控制正则表达式 symfony 2
【发布时间】:2013-05-04 02:26:15
【问题描述】:

我需要帮助来配置我的 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 }

有什么问题?

谢谢 ;)

【问题讨论】:

  • 问题是你错过了一个时期

标签: regex symfony access-control


【解决方案1】:

acls 的奇怪用法。 acl 正则表达式要简单得多。 ^ 标记网址的开头。 $ 标记匹配 url 的结尾。如果不存在$,则在“正则表达式”匹配之后。根本没有星号。哦,login_check 应该是安全的

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 }

【讨论】:

    【解决方案2】:

    问题是您在最后一行缺少句号:

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

    /* 表示零个或多个斜线 (/) .. 它应该是 /.* 以表示 后面跟一个斜线的任何内容

    正确的输入应该是这样的:

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

    【讨论】:

    • 是的,我更正了这一点,但主要问题是我需要放在前面: - { path: ^/$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    • ACL "regex" 要简单得多。根本没有星号之类的东西。
    猜你喜欢
    • 2019-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-06
    • 1970-01-01
    • 2018-06-04
    • 2018-03-21
    • 1970-01-01
    相关资源
    最近更新 更多