Подтвердить что ты не робот

Symfony предоставляет доступ к нескольким ролям в security.yml

Привет, я хотел бы иметь возможность разрешить доступ к пути в security.yml на основе пользователя, имеющего ROLE_TEACHER или ROLE_ADMIN.

В соответствии с вопросом в Несколько ролей, требуемых для одного и того же URL-адреса в symfony 2, приведенная ниже запись должна позволять либо доступ к ролям.

- { path: ^/admin, roles: ROLE_ADMIN}
- { path: ^/admin, roles: ROLE_TEACHER}

Однако это позволит только доступ к верхней роли. Есть ли способ иметь множественный доступ к ролям на один путь?

4b9b3361

Ответ 1

Это способ пойти и что я использую:

- { path: ^/admin, roles: [ROLE_ADMIN, ROLE_TEACHER] }

Ответ 2

Вы можете использовать иерархию ролей в security.yml:

role_hierarchy:
    ROLE_ADMIN: [ROLE_TEACHER]

#...

access_control:
    - { path: ^/admin, roles: ROLE_TEACHER}

Таким образом, все эти роли будут иметь доступ к этому пути.