Symfony2:在自定义身份验证提供程序中获取用户IP

时间:2015-03-07 13:26:40

标签: symfony authentication ip

我正在使用Symfony创建自定义身份验证提供程序和侦听器。而且我还需要对一些不成功的登录尝试实施IP禁令。这就是我需要在身份验证提供程序中获取它的原因,我检查凭据是否有效。问题是我不能将请求服务注入其中,因为我得到“范围扩大依赖注入异常”。使用$_SERVER['REMOTE_ADDR']获取IP地址不是解决方案。还有其他办法吗?

2 个答案:

答案 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