在security.yml中,我通过定义用户必须具有的最低角色来为用户保护路由。 例如
- { 路径: ^/a/clients, role: MY_CUSTOM_ROLE }
有没有办法否定这种访问权限,唯一允许通过的人是那些没有这个角色的人?
我认为你可以用symfony表达式语言轻松做到这一点(我认为2.4中的新功能)。一些例子:
access_control:
- { path: ^/_internal/secure, allow_if: "'127.0.0.1' == request.getClientIp() or has_role('ROLE_ADMIN')" }
有关更多详细信息,请访问:https://github.com/symfony/symfony/pull/8913
对于 2.3.4 版本(当前稳定的版本),您需要手动创建另一个自定义角色,该角色是MY_CUSTOM_ROLE的否定。