2012-11-14 39 views
1

有靈活的路由(能夠改變路由而不會中斷應用,感謝路由標識符,如'admin_settings' - >'/ admin/settings') .yml,在access_control中,我們必須指定路徑(而不是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 } 

每當我改變一條路線時,我將不得不檢查它是否仍然安全。

回答

1

最近我有同樣的問題,所以我寫爲symfony1.2 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 } 
+0

嗨,貢獻很大,謝謝! – ChocoDeveloper