我希望角色为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 }
答案 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 }