我在 Symfony2.1 中有一个登录表单,它被发布到我的路由,它没有附加控制器,因为 Symfony 在内部负责登录。
现在我如何向这个表单添加一个字段,在一个实体上调用一个 SetXxxx() 方法,并持久化它?我无法拦截登录表单的 POST 值。
我在 Symfony2.1 中有一个登录表单,它被发布到我的路由,它没有附加控制器,因为 Symfony 在内部负责登录。
现在我如何向这个表单添加一个字段,在一个实体上调用一个 SetXxxx() 方法,并持久化它?我无法拦截登录表单的 POST 值。
您可以省去很多麻烦创建一个AuthenticationSuccessHandler
(参见http://blog.alterphp.com/2011/10/set-up-authenticationsuccesshandler.html),并注入实体管理器或您拥有的任何负责更新的服务您的实体并坚持下去。
该博客直接实现了接口AuthenticationSuccessHandlerInterface
,但您也可以在其中扩展Symfony\Component\Security\Http\Authentication\DefaultAuthenticationSuccessHandler
和添加onAuthenticationSuccess