2

カスタムの symfony ボーターを使用し、全会一致の戦略を使用しています。Access Decision Manager は有権者をループし、isGranted はブール値を返します。

アクセスが拒否された理由を知るために Voter 内部から例外をスローすることはできません。アクセスを拒否した有権者とその理由を知りたいので、ユーザーに適切なメッセージを表示して、特定のサブスクリプションにアップグレードするなどの措置を講じることができます。それを行う最良の方法は何ですか?

4

1 に答える 1

0

適切なアルゴリズムは次のようになります。

  • ボーター内で例外をスローします
  • マネージャーにキャッチし、配列またはオブジェクトに保存して続行します
  • チェーン (ループ) が終了したら、マネージャーが何らかの例外を「収集」したかどうかを確認し、それに応じて動作します。
于 2015-09-24T15:00:34.573 に答える