我正在尝试将新的Google recaptcha集成到FOS用户捆绑登录中。
我成功覆盖了loginAction()
发生的登录模板和SecurityController表单FOS。
我遇到的问题是我无法从控制器中任何位置的登录表单访问发送POST数据。我在loginAction()
和checkAction()
中尝试过,它们都没有请求中的POST数据。
所以我猜测有一个服务,监听器或其他做重定向或其他事情的东西,以便POST数据丢失。
我在哪里可以访问将从登录表单发送到服务器的POST数据?
答案 0 :(得分:0)
在我喝了一杯咖啡并重新考虑问题之后,我在源代码中找到了答案。
您可以使用侦听登录事件的侦听器访问已从登录表单发送的数据。这是我在services.yml中配置的监听器
project.LoginListener:
class: namespace\Listener\LoginListener
arguments: [@doctrine,@session,@security.context,@project.someService]
tags:
- { name: kernel.event_listener, event: security.interactive_login, method :onSecurityInteractiveLogin }
在监听器中,您可以轻松访问请求的参数包中的已发送数据。该请求可通过侦听器中给出的事件进行访问。