我们需要捕获具有额外信息的登录数据作为验证码输入等。当我们登录时,我们在 loginListener 中丢失了这个 $_POST 信息,因此我们无法将一些数据处理到数据库中。
我们发现实现一些代码以在登录前访问数据库并在其中捕获一些 POST 数据的唯一函数是 UsernamePasswordFormAuthenticationListener 类的 attemptAuthentication 函数,在文件中:
vendor/symfony/src/Symfony/Component/Security/Http/Firewall/UsernamePasswordFormAuthenticationListener.php
但它是核心代码,如果我们必须修改它,我们认为这是一种不好的做法。
我们需要在 Symfony 2 中找到一个 BeforeLogin 函数和文件来实现数据库访问代码。