Symfony security access_control разрешить, если НЕ имеет указанной c роли - PullRequest
0 голосов
/ 27 марта 2020

В приложении Symfony 5.0 я хочу определить шаблон access_control для маршрута, который позволяет пользователям получать доступ к

  • с ролью ROLE_USER
  • НЕ имеет роль ROLE_ADMIN

Так что мне нужно что-то вроде

- { path: ^/xy, roles: [ROLE_USER, not ROLE_ADMIN] }

В старше Symfony 3.x Раньше я делал это так:

{ path: ^/xy, allow_if: "has_role('ROLE_USER') and not has_role('ROLE_ADMIN')" }

Но, похоже, это больше не работает.

1 Ответ

0 голосов
/ 27 марта 2020

Сейчас

is_granted()

вместо

has_role()

сейчас. Так что это работает:

- { path: ^/xy, allow_if: "is_granted('ROLE_USER') and not is_granted('ROLE_ADMIN')" }
...