Роли безопасности Symfony2 - PullRequest
2 голосов
/ 08 марта 2012

Я хочу сделать это в файле security.yml:

access_control:
    - { path: ^/admin, roles: ROLE_ADMIN }
    - { path: ^/admin, roles: ROLE_EMPLEADO}

Это означает, что я хочу, чтобы две роли обращались к одному и тому же шаблону URL.

То, что я сделал, не работает, оно всегда дает разрешение только на ROLE_ADMIN, и когда я обращаюсь к одному и тому же URL с помощью ROLE_EMPLEADO, оно говорит: «Отказано в доступе».

Как мне этого достичь?

Ответы [ 2 ]

3 голосов
/ 08 марта 2012

Вы должны создать иерархию ролей (см. http://symfony.com/doc/2.0/book/security.html#hierarchical-roles)

security:
  roles_hierarchy:
    ROLE_EMPLEADO: ROLE_ADMIN

, что в основном означает, что пользователь с ролью ROLE_EMPLEADO также имеет роль ROLE_ADMIN, и тогда достаточно сказать:

access_control:
    - { path: ^/admin, roles: ROLE_ADMIN }
2 голосов
/ 08 марта 2012

Вот как ты это делаешь:

- { path: "^/admin", role: ["ROLE_ADMIN", "ROLE_EMPLEADO"] }

Это позволит обеим ролям обращаться к одному и тому же URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...