Межсетевые экраны для каждого хоста в Symfony2

StackOverflow https://stackoverflow.com/questions/8321335

  •  26-10-2019
  •  | 
  •  

Вопрос

Можно ли сопоставить брандмауэры с данным хостом, например, так:

firewalls:
    dev:
        pattern: ^/(_(profiler|wdt)|css|images|js)/
        security: false
    admin:
        pattern: ^/
        host: admin.mysite.com
        http_basic:
            provider: in_memory
            realm: 'MySite Admin'
        logout: 
    main:
        pattern: ^/
        anonymous: ~
        form_login:
            provider: fos_userbundle
        ...

Обратите внимание на поддельный параметр «хост» в брандмауэре администратора.

Возможность ограничить брандмауэры конкретными хостами упростит использование провайдеров для каждого хоста.При работе с разными доменами не нужно беспокоиться о перекрывающихся шаблонах.

Это было полезно?

Решение

Маршрутизация по хостам была добавлена ​​в версии 2.2, поддержка брандмауэров для каждого хоста была добавлена ​​в версии 2.4.

Сообщение в блоге Фабьена: http://symfony.com/blog/new-in-symfony-2-4-restrict-security-firewalls-to-specified-hosts

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

По сути, в значительной степени любая схема аутентификации может быть реализована с данной концепцией безопасности. В вашем случае вам, вероятно, нужно определить точку входа, которая также проверяет хост, от которого появляется пользователь. Однако вы должны помнить, что информация «хоста» не обязательно заслуживает доверия и, вероятно, не должна быть вашей единственной мерой аутентификации.

Если вы хотите узнать, как реализовать собственную схему аутентификации, ознакомьтесь с схемой аутентификации формы-логин, уже представленной в платере фреймворка. Хорошим местом для запуска является фабрика безопасности (Symfony Bundle SecurityBundle DevestionInction Security Factory FormLoginFactory), которая обрабатывает динамическую конфигурацию и внедрение всех классов, участвующих в схеме аутентификации. Также проверьте Раздел Symfony Book о безопасности Для высокого уровня вида архитектуры пакета безопасности.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top