我使用的是Symfony 4.3.2,试图找到一种方法,以允许具有角色(CommissionOwner)的用户仅访问特定页面。
具有除“ CommissionOwner”以外的角色的用户可以访问所有页面。
具有“ CommissionOwner”角色的用户只能访问以下页面。
我正在尝试 myApp / config / packages / security.yaml
access_control:
- { path: ^/reportSalesCommissions, roles: IS_CommissionOwner }
答案 0 :(得分:1)
每个角色名称都应以 ROLE _
开头因此,如果您将角色声明为 ROLE_COMMISSION_OWNER
您可以在安全配置中正确创建角色层次结构和access_control
应该是这样的:
access_control:
- { path: ^/login$, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/reportSalesCommissions, roles: ROLE_COMMISSION_OWNER }
- { path: ^/loginlandingpage, roles: ROLE_COMMISSION_OWNER }
- { path: ^/, roles: ROLE_USER }
role_hierarchy:
ROLE_USER: ROLE_COMMISSION_OWNER