Брандмауэры для каждого хоста в Symfony2 - PullRequest
5 голосов
/ 30 ноября 2011

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

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
        ...

Обратите внимание на фиктивный параметр "host" под брандмауэром администратора.

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

Ответы [ 2 ]

2 голосов
/ 11 апреля 2014

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

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

1 голос
/ 19 декабря 2011

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...