質問
ファイアウォールを特定のホストにマッピングすることは可能ですか?たとえば、次のようなものです。
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
...
管理ファイアウォールの下にある偽の「ホスト」Paramに注意してください。
ファイアウォールを特定のホストに制限する機能により、プロバイダーがホストごとに簡単に使用できるようになります。異なるドメインでは、パターンの重複を心配する必要はありません。
解決
ホストあたりのルーティングは2.2に追加され、ホストごとのファイアウォールのサポートが2.4に追加されました。
Fabienのブログ投稿: http://symfony.com/blog/new-in-symfony-2-4-restrict-security-firewalls-to-ficific-hosts
他のヒント
基本的に、ほとんどの認証スキームは、指定されたセキュリティコンセプトで実装できます。あなたの場合、ユーザーが来ているホストをチェックするエントリポイントを定義する必要があるでしょう。ただし、「ホスト」情報は必ずしも信頼できるわけではなく、おそらく認証の唯一の尺度ではないことに注意する必要があります。
独自の認証スキームを実装する方法を見つけたい場合は、フレームワークバンドルで既に提供されているフォームロジン認証スキームをチェックしてください。開始するのに適した場所は、認証スキームに関与するすべてのクラスの動的な構成とインジェクションを処理するセキュリティファクトリー(Symfony Bundle securitybundle dependencyinjection security factory formloginfactory)です。もチェックしてください セキュリティに関するSymfony Bookのセクション セキュリティバンドルのアーキテクチャの高いレベルビュー。