0

symfony のドキュメントで提案されている通常のユーザー認証システムを使用しています:

    form_login:
        login_path: /login
        check_path: /login_check 

ご存知のように、コントローラーを作成してから、フレームワークによって処理される/loginフォームデータを送信します/login_check。時々、私のユーザーは一種のギフトコードを持ってくるので、/login?code=12345678私がログインコントローラーを書いたという事実を考えると、このコードを解析することができますが、ログインデータを送信したもの/login_checkは、このコードの制御を失いました。/login_check私が書いたものではありません。ログインが完了したら、理想的には取得データを取得して保存するため、コードを送信する必要があります。

4

2 に答える 2

0

あなたのアプローチは良くありません。それがどのように機能するかを理解するためにこれを読んでください:http://blog.logicexception.com/2011/10/symfony2-securitybundle-and.html

独自のユーザープロバイダーを作成する必要があります。

于 2013-01-10T11:59:26.543 に答える
0

新しいバンドルを作成し、SecurityBundleを拡張する必要があると思います。その後、login_checkアクションをオーバーライドするだけです...公式ドキュメントはこちらギフトコードとしては少し重いようです。

ギフトコードをセッションに保存してみませんか(存在する場合)?とにかく、ログインに失敗した場合、ユーザーはそれが使用されている可能性のあるサイト部分にアクセスできません。そして、それを無効にするために使用されているのを待ってみませんか?

于 2013-01-10T11:09:59.550 に答える