2

我正在使用自定义 symfony 选民并使用一致的策略。访问决策管理器循环投票者和 isGranted 返回布尔值。

我们不能从 Voter 内部抛出异常来了解访问被拒绝的原因。我想知道哪些选民拒绝访问以及为什么拒绝访问,以便我可以向用户显示适当的消息以采取行动,例如升级到特定订阅。最好的方法是什么?

4

1 回答 1

0

一个好的算法可能是:

  • 在选民内部抛出异常
  • 将其捕获到 Manager 中,将其存储到 Array 或 Object 中并继续
  • 链(循环)完成后,检查 Manager 是否“收集”了一些异常并做出相应的行为
于 2015-09-24T15:00:34.573 回答