РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
629 of 1361 menu

Middleware access-control

Middleware access-control - это механизм проверки прав доступа, который срабатывает перед выполнением запроса. Он определяет, может ли текущий пользователь обратиться к указанному маршруту. Настройка выполняется в файле config/packages/security.yaml в секции access_control. Каждое правило содержит параметры path, roles, allow_if и другие.

Синтаксис

security: access_control: - { path: ^/admin, roles: ROLE_ADMIN } - { path: ^/user, roles: ROLE_USER } - { path: ^/public, roles: IS_AUTHENTICATED_ANONYMOUSLY }

Пример

Давайте ограничим доступ к разделу /admin только для пользователей с ролью ROLE_ADMIN:

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

Если пользователь без роли ROLE_ADMIN попытается открыть /admin/dashboard, Symfony вернёт ошибку 403.

Пример

Давайте разрешим доступ к главной странице только аутентифицированным пользователям, а к странице входа - всем:

security: access_control: - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/, roles: ROLE_USER }

Теперь любой запрос к корню сайта требует авторизации.

Пример

Давайте используем allow_if для доступа по IP-адресу:

security: access_control: - { path: ^/internal, allow_if: "request.getClientIp() == '127.0.0.1'" }

Доступ к разделу /internal будет разрешён только с локального адреса.

Смотрите также

  • класс Passport,
    который представляет собой паспорт аутентификации
  • класс UserBadge,
    который хранит идентификатор пользователя
  • класс SelfValidatingPassport,
    который проверяет пользователя без пароля
  • класс firewall,
    который настраивает брандмауэр безопасности
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить