次のルーティングを許可するルーティングを設定しています。
/client_a/dashboard/
/client_b/dashboard/
私はapp/config/routing.yml
次のような接頭辞を使用しています:
AcmeMainBundle:
resource: "@AcmeMainBundle/Resources/config/routing.yml"
prefix: /{client}
私が直面している問題は、ログイン ルーティングでプレフィックスに問題があるように見えることです。/Resources/config/routing.yml
I am importing into the main routing file のエントリは次のとおりです。
acme_login:
pattern: /login/
defaults: {_controller: AcmeMainBundle:Main:login }
acme_login_check:
pattern: /login_check
# defaults: This is not required since the Firewall will handle this
acme_logout:
pattern: /logout/
# defaults: This is not required since the Firewall will handle this
ログインページは正常に表示されますが、ユーザーがログインページを送信した後、Symfony は次のエラーをスローします:
Unable to find the controller for path "/client_a/login_check". Maybe you forgot to add the matching route in your routing configuration?
Symfony2 は、内部セキュリティ ルーティングに問題があり、routing.yml でプレフィックスを使用しているように見えます。
問題を克服する方法はありますか?
注: この問題を回避する 1 つの方法は、routing.yml ファイル内のすべてのルートを変更して {client} パラメーターを含めることです。唯一の問題は、これが多数のルートを持つ非常に広範なアプリであることです。プレフィックスを使用すると、ログイン中のセキュリティ処理を除いて、驚くほど機能します。
ありがとう、
JB