授予多个ROLE Security.yml

时间:2014-04-07 17:54:14

标签: symfony

我希望角色为ROLE_USER_1或ROLE_USER_2的用户转到^/(de|en)/secured/account/。但我想要的是拥有ROLE_USER_2的用户可以转到^/(de|en)/secured/account/profile或任何其他操作。角色为ROLE_USER_2的用户只能转到^/(de|en)/secured/account/

我的security.yml有什么问题:

    role_hierarchy:
       ROLE_ADMIN:       ROLE_USER
       ROLE_USER_B2B:    ROLE_USER_B2B_INACTIVE  
    access_control:
       - { path: ^/(en|de)/secured/account/$, roles: [ROLE_USER_B2B_INACTIVE, ROLE_USER_B2B] }
       - { path: ^/(en|de)/secured/account/*, roles: ROLE_USER_B2B }

1 个答案:

答案 0 :(得分:0)

我的回答,有效的是什么!只需要切换第一个roles!有点傻。我将角色层次与ROLE_USER_B2B取消注释。

role_hierarchy:
    ROLE_ADMIN:       ROLE_USER
access_control:
    - { path: ^/(en|de)/secured/b2b/account/$, roles: [ROLE_USER_B2B, ROLE_USER_B2B_INACTIVE] }
    - { path: ^/(en|de)/secured/b2b/account/*, roles: ROLE_USER_B2B }