web-dev-qa-db-ja.com

symfonyがsecurity.ymlの複数のロールへのパスアクセスを許可する

こんにちはsecurity.ymlまたはROLE_TEACHERを持っているユーザーに基づいて、ROLE_ADMINのパスへのアクセスを許可できるようにしたいと思います。

symfony 2の同じURLに必要な複数のロール の質問によると、以下のエントリはいずれかのロールアクセスを許可する必要があります。

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

ただし、これは最上位の役割のアクセスのみを許可します。単一のパスに複数の役割でアクセスする方法はありますか?

29
nmcilree

これは行く方法であり、私が使っているものです:

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

security.ymlでロール階層を使用できます。

role_hierarchy:
    ROLE_ADMIN: [ROLE_TEACHER]

#...

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

したがって、このすべての役割はそのパスにアクセスできます。

14
Serge Kvashnin