まず、文脈を荒々しく説明します。私はさまざまな分野を作成できるsymfonyアプリケーションを用意したいと思っています。それぞれの分野で、さまざまな種類のユーザー(または役割)を持つことができます。各ユーザーは、異なる分野で複数の役割を持つことができます。 動的グループのセキュリティフィルタを実装する場所
が問題を説明するために、我々は定義します:- 2分野: "エリア1" と "エリア2"。
- 2人のユーザー:「ユーザー1」と「ユーザー2」。
- 2つの役割: "売り手"と "買い手"。
- は「ユーザー1」は、売り手と「エリア1」の買い手である
- 「ユーザー2」は、売り手とのみ「エリア2」
私の質問はです。これは、ユーザーが特定の領域に所属し、その領域に必要な役割を果たす場合、制限付きページをチェックインする最も良い方法です。それについて少し考えた後、私は次のことを行っている
:
- 領域が作成されると、私も地域の役割ごとに1 sfGuardGroupと一つのグローバルsfGuardGroupを作成し、地域との接尾辞それぞれid。だから、私たちの例では、我々は役割を持っています:
- エリア-1、売り手-1、バイヤー-1領域の1
- エリア-2、売り手-2、バイヤー-2エリア2
- ユーザーが関連するグループに追加されます。だから、私たちの例では:
- ユーザー1は、グループエリア-1に属し売り手-1と買い手-1
- ユーザー2は、グループエリア-1、売り手-1、バイヤー-1、領域に属しますでしょう-2と買い手-2 URLから
- は、私が知っている中、私たちは、どの領域、例えば:
- http://example.com/area-1/sellers-restricted-page(グループ内のユーザがアクセス可能なエリア-1と売り手-1)
- http://example.com/area-2/buyers-restricted-page(グループ領域2とバイヤー2のユーザーがアクセス可能)
- http://example.com/area-2/(グループ内のユーザがアクセス可能なエリア-2)その時点で
は、私は一種のスタック私はパーミッションチェックを実装するのに最適な場所を作ることができないようだ:ガードフィルタを変更します?アクションを変更しますか?
私を正しい軌道に乗せてくれてありがとう。いくつかのテストの後、私はカスタムsfFilterを使ってどこかへ行きます。 –