1

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 }

ルートを変更するたびに、ルートがまだ保護されていることを確認する必要があります。

4

1 に答える 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 }
于 2013-01-29T06:30:49.920 に答える