Symfony 2扩展了DefaultAuthenticationSuccessHandler

时间:2013-08-23 14:12:23

标签: authentication symfony

我正在尝试为我的用户计算失败和成功的登录信息。为此,我只想在验证尝试成功或失败时增加日期库中的相应计数器。但我想保留默认行为而不重新发明它。

所以我关注了这篇文章:Symfony2 hold behavior when extending DefaultAuthenticationSuccessHandler

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

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

编辑:实际上,问题似乎有点不同!我的services.yml中有以下行:

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

但传递给构造函数的第二个参数是一个包含“login_path”之类的选项的数组。但它应该是HttpUtils的一个实例。我很困惑......

1 个答案:

答案 0 :(得分:0)

我自己想通了:参数的顺序很重要。我不得不将my_stuff.my_user_management_service移动到参数数组的末尾,如下所示:

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