2013-09-24 3 views
1

В security.yml У меня есть маршруты, защищенные для пользователей, определяя минимальную роль, которую должен иметь пользователь. Например.Symfony - Ограничить доступ к маршруту для пользователей с определенной ролью

  • {путь: ^/а/клиентов, роль: MY_CUSTOM_ROLE}

Есть ли способ, чтобы свести на нет этот доступ к тому, что только люди, пропускаются те, которые не имеют этой роли?

ответ

0

Я думаю, что вы можете легко сделать это с помощью языка выражения 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.

+1

Невозможно использовать! Has_role ('ROLE_BANNED'), например, есть ли способ сделать так, чтобы он отрицал путь к пользователю, у которого есть роль ROLE_BANNED? –

Смежные вопросы