3

SymfonyVotersシステムを使用すると、Web アプリケーション用に適切な ACL を設定して実行するのは非常に簡単です。ただし、最初にどの戦略を使用するかを決定する必要があります。

symfony はaffirmative、 、consensusおよびの 3 つの戦略をサポートしています (ドキュメントunanimousを参照してください) 。

affirmative(デフォルト): これは、アクセスを許可する有権者が 1 人になるとすぐにアクセスを許可します。
consensus: これは、拒否よりもアクセスを許可する有権者が多い場合にアクセスを許可します。
unanimous: これは、すべての有権者がアクセスを許可した場合にのみ、アクセスを許可します。

私は現在、affirmative戦略を使用しています。1 つの特殊なケース (これまでのところ、将来さらに多くなる可能性があります) では、unanimous戦略を使用する必要があります。

これを行う方法はありますか、またはそこにカスタムチェックシステムを作成する必要がありますか (関係するすべての有権者のコードをコピーします)?

4

1 に答える 1

0

AccessDecisionManager独自の戦略を持つカスタム クラスでSymfony を拡張し、それをサービス コンテナーに登録しようとしましたか? このクラスの実装をチェックアウトすると、クラス内に単純なメソッドを作成することで独自の戦略を定義できることがわかります。

access_controlもう1つのオプションは、使用を試みることができ、ここでallow_if述べたように

于 2016-07-02T19:44:35.480 に答える