0

Symfony2.1にログインフォームがあります。これは、Symfonyが内部でログインを処理するため、コントローラーが接続されていないルートに投稿されます。

では、このフォームにフィールドを追加し、エンティティでSetXxxx()メソッドを呼び出して、それを永続化するにはどうすればよいでしょうか。ログインフォームのPOST値を傍受する方法がありません。

4

2 に答える 2

1

これを行うには、カスタム認証プロバイダーを実装し、そのメンバーの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 に答える