【问题标题】:Access control forces me to have fixed routes访问控制迫使我有固定的路线
【发布时间】:2012-11-02 13:20:24
【问题描述】:

如果在security.yml中,在access_control中,我们必须拥有灵活的路由(能够在不破坏应用程序的情况下更改路由,这要归功于'admin_settings' -> '/admin/settings'之类的路由标识符)有什么意义?指定路径(而不是 id)?

access_control:
    - { path: ^/test, ip: 127.0.0.1 }
    - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/reset, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/admin, role: ROLE_ADMIN }
    - { path: ^/settings, role: ROLE_USER }

每次我更改路线时,我都必须检查它是否仍然安全。

【问题讨论】:

    标签: security symfony routes symfony-2.1


    【解决方案1】:

    最近我也遇到了同样的问题,所以我为 symfony security.yml 写了一个小扩展,添加了路由名称支持,也许你会感兴趣:https://github.com/madesst/MadesstSecurityExtraBundle

    你可以这样写:

    # app/config/security.yml
    security:
        firewalls:
            secured_area:
                pattern:    '@*' # Equals to '^/' in old syntax
                anonymous:  ~
                form_login:
                    login_path:  '_demo_login'
                    check_path:  '_security_check'
    
        access_control:
            - { path: '@my_bundle_post_delete', roles: ROLE_ADMIN}
            - { path: '@my_bundle_post_*', roles: ROLE_USER}
            - { path: '@my_bundle_post', roles: IS_AUTHENTICATED_ANONYMOUSLY}
            - { path: ^/esi, roles: IS_AUTHENTICATED_ANONYMOUSLY, ip: 127.0.0.1 }
            - { path: ^/esi, roles: ROLE_NO_ACCESS }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-30
      • 1970-01-01
      • 2021-12-01
      • 2018-11-28
      • 1970-01-01
      • 2016-12-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多