0

私のアプリでは、特定のルートに安全な接続を使用するようにルートとセキュリティを設定しました。

<route id="store_checkout" pattern="/checkout" scheme="https">
    <default key="_controller">Store:Store:checkout</default>
</route>


access_control:
    - { path: ^/checkout, role: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https }

ただし、このアプリはオープンソースであり、任意のサーバー (SSL を備えていない可能性があります) で実行できるため、ユーザーが選択した場合は、SSL 要件を (自己責任で) 無効/無視できるようにしたいと考えています。

現在、私はいくつかの方法を考えることができます:

  1. 2 つのルーティング ファイル (1 つは SSL あり、1 つは SSL なし) と 2 つのセキュリティ ファイルを持つことができます。次に、インストール時のユーザーの選択に基づいて、アプリは使用するファイルを決定できます

  2. または、ルーターの生成機能をカスタマイズして、_scheme 設定と SSL ステータス (ユーザーが SSL 証明書を持っている/持っていない場合に有効/無効にできる) に基づいて http または https リンクを生成することもできます。

この問題を解決するためのより良い方法はありますか?

4

1 に答える 1

2

答えが遅いことは知っていますが、グーグルでこれに出くわした場合:

parameters.yml に a を追加するだけです:

url_scheme: https

そして、あなたの security.yml で:

- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: %url_scheme% }
于 2013-09-16T11:44:01.373 に答える