当symfony2通过登录表单对用户进行身份验证时,会触发事件security.authentication.success
并由DefaultAuthenticationSuccessHandler
处理。该对象的构造函数使用HttpUtils $httpUtils
和array $options
两个参数。可变$options
不是空的,包含从security.yml
喜欢的配置选项:Symfony2如何将参数传递给身份验证成功处理程序
login_path => pkr_blog_admin_login
user_referer => false
...
我创建的延伸DefaultAuthenticationSuccessHandler
,但不能找到一种方法,从security.yml
将值作为$选项,我的对象的构造服务AuthenticationSuccessHandler
。我怎样才能做到这一点?
我一直在使用Xdebug的一步步调试看到的那些选项是如何传递给DefaultAuthenticationSuccessHandler
尝试,但在代码中无法找到确切位置:/
//编辑
我发现这个配置在src/Symfony/Bundle/SecurityBundle/DependencyInjection/Security/Factory/AbstractFactory.php
和中仅设置为默认处理程序。
以下是有关在自定义的处理没有得到来自security.yml
配置一些意见:得到配置解析,并准备通过默认处理器从我的处理程序中使用
https://github.com/symfony/symfony/issues/5432
https://github.com/symfony/symfony/issues/5488
任何人都知道的方法吗?
我想这可能是通过将服务容器传递给我的处理程序来完成的。我会在我下班回来的时候试试这个。