1

2つの異なるエンコーディングパスワードメソッドを使用して、2つのユーザープロバイダー(FosUserBundleとカスタムDBユーザープロバイダーを推進)をチェーンしたい

app / config / security.yml

安全:  

    エンコーダー:
        FOS \ UserBundle \ Model \ UserInterface:sh​​a512
        My \ AuthBundle \ Model \ User:sha1

    プロバイダー:
        my_chain_providers:
            鎖:
                プロバイダー:["fos_userbundle"、 "db_user"]
        fos_userbundle:
            id:fos_user.user_provider.username_email
        db_user:
            推進、動かす:
                クラス:My \ AuthBundle \ Model \ User
                プロパティ:ユーザー名

    ファイアウォール:
        主要:
            パターン:^ /
            form_login:
                プロバイダー:my_chain_providers
            ログアウト:true
            匿名:true

私の問題:パスワードのハッシュは、fos_userテーブルの$password。'{'。$salt。'}'と、カスタムDBユーザープロバイダーの$salt。$passwordの後に続きます。

この要点https://gist.github.com/1243080は、mergePasswordAndSaltメソッドをカスタム化する方法を示していますが、ユーザープロバイダーごとに1つのmergePasswordAndSaltメソッドを持つことは可能ですか?

4

1 に答える 1

1

と組み合わせて複数のエンコーダを使用する必要がありますFOSAdvancedEncoderBundle私は同じ問題を抱えていて、ここでかなり丁寧に答えました

于 2012-09-05T16:19:58.683 に答える