我正在使用Symfony创建自定义身份验证提供程序和侦听器。而且我还需要对一些不成功的登录尝试实施IP禁令。这就是我需要在身份验证提供程序中获取它的原因,我检查凭据是否有效。问题是我不能将请求服务注入其中,因为我得到“范围扩大依赖注入异常”。使用$_SERVER['REMOTE_ADDR']
获取IP地址不是解决方案。还有其他办法吗?
答案 0 :(得分:2)
你试过这个设置:
How to inject the @request into a service?
或使用请求堆栈的较新版本:
http://symfony.com/blog/new-in-symfony-2-4-the-request-stack
答案 1 :(得分:1)
在Authenticator上实现AuthenticationFailureHandlerInterface 这将提供一个onAuthenticationFailure方法,您可以在其中注入请求。 阅读更多here