3

2 つの主要なバンドルを共有する Symfony2 アプリがあるとしましょう:OneBundleTwoBundle. OneBundle管理目的のバックエンドとして機能し、TwoBundle外部向けの RESTful API です。

フローOneBundleは誰もが知っていることです: 管理者ログイン、操作を行ってログアウトする、アプリを開いたままにする、ブラウザーを直接閉じる、またはアプリを閉じるその他の方法。この場合、セッションはconfig.yml(24 時間の有効期限日セッション用)。

TwoBundleでは別のフローがあります: Salesforce に対してユーザーがログインしてトークンを取得し、そのトークンが API エンドポイントに戻され、トークンとその他の情報を保存するための新しいセッションを作成し、ユーザーがログアウトするか、クライアント アプリなどを閉じます。セッションは、最初のセッションのように 24 時間ではなく、1 週間存続する必要があります。

OneBundle同じ Symfony2 アプリで2つの異なるセッションを共有できますTwoBundleか? PHPはそれを許可していますか?このビジネス ルールをどのように処理しますか? 1 つのセッションをデフォルトの保存ハンドラーとして保存し、もう 1 つのセッションを として保存できますPdoSessionHandlerか?

4

1 に答える 1

2

これは、security.yml ファイルで 2 つのファイアウォールを設定することで実行できます。1 つは "OneBundle" 用で、もう 1 つは "TwoBundle" 用で、必要に応じて異なるセキュリティ ハンドラーを使用できます (1 つ目は FOSUser、2 つ目は Native) ので、symfony のセキュリティは非常に柔軟です。

[編集]

symfony 設定でこれらのページを見ることができます:

于 2015-05-20T07:16:33.820 に答える