-1

我使用警卫作为我的自定义身份验证器,我需要在身份验证器中发送一封电子邮件,使用我注入的服务 fos_user.mailer,其中有参数,其中有树枝,因为它呈现它需要发送的消息,现在问题我有是我收到一个错误“检测到服务的循环引用......”,这表示我的身份验证器调用邮件程序,该邮件程序调用了再次调用授权检查器(我的身份验证器)的树枝,导致无限循环,你有什么解决方案为了这

4

1 回答 1

0

快速而肮脏的解决方法是将容器注入您的身份验证器并在您需要时获取邮件服务。它很脏,因为它隐藏了您的依赖项。

但是为什么需要在验证器中发送电子邮件?您可以使用 symfony 的身份验证相关事件之一来代替吗?(请参阅AuthenticationEventsSecurityEvents类)。如果这还不够,您还可以创建自己的事件并在负责发送该邮件的不同服务中收听该事件。

于 2017-10-18T21:24:00.220 回答