FOS UserBundle Разрешить определенные роли для брандмауэра

Я использую FOS UserBundle в своем проекте Symfony 3.3, и у меня есть два брандмауэра, потому что администраторы и пользователи подключаются из разных форм входа (с разными URL-адресами). Я хотел бы ограничить доступ к панели администратора, только если учетная запись, используемая для ведения журнала, предоставлена ​​ADMIN_ROLE. То есть, если я пытаюсь пройти аутентификацию с помощью простой учетной записи пользователя, я получаю сообщение «Неверные учетные данные». Есть ли способ указать брандмауэру разрешать подключение только пользователям определенной роли?

мой раздел брандмауэров security.yml:

firewalls:
    admin:
        pattern:            ^/admin
        form_login:
            provider:       fos_userbundle
            csrf_token_generator: security.csrf.token_manager
            login_path:     /admin
            check_path:     /admin/login_check
            default_target_path: /admin
            success_handler: app.security.adminauthentication_handler
            failure_handler:  app.security.adminauthentication_handler
        logout:
            path:           /admin/logout
            target:         /admin
        anonymous:        true
        context:          application
    main:
        pattern: ^/
        form_login:
            provider: fos_userbundle
            csrf_token_generator: security.csrf.token_manager
            success_handler: app.security.authentication_handler
            failure_handler:  app.security.authentication_handler
        logout:       true
        anonymous:    true

Обратите внимание, что я использую AJAX для обеих форм входа.

Спасибо

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
1
0
42
2

Ответы 2

просто добавьте это в свой security.yml в разделе безопасности следующим образом:

> security :
       access_control :
             - { path: ^/mysite/dashboard/, role: ROLE_ADMIN }

Вы должны определить контроль доступа

Другие вопросы по теме