0

我在 Symfony2.1 中有一个登录表单,它被发布到我的路由,它没有附加控制器,因为 Symfony 在内部负责登录。

现在我如何向这个表单添加一个字段,在一个实体上调用一个 SetXxxx() 方法,并持久化它?我无法拦截登录表单的 POST 值。

4

2 回答 2

1

您可以通过实现自定义身份验证提供程序并创建您自己的身份验证令牌来保留其成员之一来做到这一点。

于 2012-09-24T17:47:07.657 回答
0

您可以省去很多麻烦创建一个AuthenticationSuccessHandler(参见http://blog.alterphp.com/2011/10/set-up-authenticationsuccesshandler.html),并注入实体管理器或您拥有的任何负责更新的服务您的实体并坚持下去。

该博客直接实现了接口AuthenticationSuccessHandlerInterface,但您也可以在其中扩展Symfony\Component\Security\Http\Authentication\DefaultAuthenticationSuccessHandler和添加onAuthenticationSuccess

于 2012-11-23T17:07:07.203 回答