Home » Php » php – Symfony granting path access to multiple roles in security.yml

php – Symfony granting path access to multiple roles in security.yml

Posted by: admin April 23, 2020 Leave a comment

Questions:

Hi I would like to be able to allow access to a path in security.yml based on the user either having ROLE_TEACHER, or ROLE_ADMIN.

According to the question in Multiple roles required for same url in symfony 2 the entry below should allow either role access.

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

However, this will only allow the top role access. Is there a way of having multiple role access to a single path?

How to&Answers:

This is the way to go and what i’m using:

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

Answer:

You can use the role hierarchy in security.yml:

role_hierarchy:
    ROLE_ADMIN: [ROLE_TEACHER]

#...

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

So all of this roles will have access to that path.