我正在尝试为我的用户计算失败和成功的登录信息。为此,我只想在验证尝试成功或失败时增加日期库中的相应计数器。但我想保留默认行为而不重新发明它。
所以我关注了这篇文章: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的一个实例。我很困惑......
答案 0 :(得分:0)
我自己想通了:参数的顺序很重要。我不得不将my_stuff.my_user_management_service移动到参数数组的末尾,如下所示:
arguments: [@security.http_utils, {}, @my_stuff.my_user_management_service]
但是,我真的不明白为什么。参数注入有问题。也许某人有一些洞察力?