Symfony 2扩展DefaultAuthenticationSuccessHandler

Symfony 2扩展DefaultAuthenticationSuccessHandler,authentication,symfony,Authentication,Symfony,我试图统计我的用户登录失败和成功的次数。为此,我只想在身份验证尝试成功或失败时增加数据库中相应的计数器。但我希望保留默认行为,而不重新创建它 所以我跟着这篇帖子: 但显然,我无法向DefaultAuthenticationSuccessHandler子类的构造函数添加任何参数,或者Symfony抱怨参数类型错误 如何将用户管理服务作为构造函数参数注入 编辑:事实上,问题似乎有点不同!我的服务有以下几行。yml: services: security.authentication.success

我试图统计我的用户登录失败和成功的次数。为此,我只想在身份验证尝试成功或失败时增加数据库中相应的计数器。但我希望保留默认行为,而不重新创建它

所以我跟着这篇帖子:

但显然,我无法向DefaultAuthenticationSuccessHandler子类的构造函数添加任何参数,或者Symfony抱怨参数类型错误

如何将用户管理服务作为构造函数参数注入

编辑:事实上,问题似乎有点不同!我的服务有以下几行。yml:

services:
 security.authentication.success_handler:
  class: %security.authentication.success_handler.class%
  arguments: [@my_stuff.my_user_management_service, @security.http_utils, {}]

但传递给构造函数的第二个参数是一个数组,其中包含“login\u path”之类的选项。但它应该是HttpUtils的一个实例。我很困惑…

我自己弄明白了:参数的顺序很重要。我必须将我的内容。我的用户管理服务移动到参数数组的末尾,如下所示:

arguments: [@security.http_utils, {}, @my_stuff.my_user_management_service]
但我真的不明白为什么。参数注入有问题。也许有人有一些见解