如何在Symfony中用控制器方法的@IsGranted覆盖访问控制部分



我使用Symfony 4。

我只^/admin角色ROLE_ADMIN.但是,我需要一些页面可供其他角色访问。例如,我希望角色ROLE_ASSISTANT可以访问/admin/admin/article。我从向控制器方法添加@IsGranted("ROLE_ASSISTANT")开始/admin/article。但这并没有帮助。我找不到有关如何在security.yaml中覆盖访问控制的任何资源,但我确实需要。我不需要为助手打开整个管理部分,只需在管理中打开几页。

您不必从控制器覆盖它。只需更改 security.yaml 文件中access_control的顺序即可。像这样:

access_control:
   - { path: ^/admin/article, roles: ROLE_ASSISTANT }
   - { path: ^/admin, roles: ROLE_ADMIN }

最新更新