1

我想用两种不同的编码密码方法链接两个用户提供程序(FosUserBundle 和一个自定义 DB 用户提供程序)

应用程序/配置/security.yml

安全:  

    编码器:
        FOS\UserBundle\Model\UserInterface: sha512
        我的\AuthBundle\模型\用户:sha1

    提供者:
        my_chain_providers:
            链:
                提供者:[“fos_userbundle”,“db_user”]
        fos_userbundle:
            id:fos_user.user_provider.username_email
        数据库用户:
            推进:
                类:我的\AuthBundle\模型\用户
                属性:用户名

    防火墙:
        主要的:
            模式:^/
            表单登录:
                提供者:my_chain_providers
            注销:真
            匿名:真实

我的问题:密码的哈希值遵循 fos_user 表中的 $password.'{'.$salt.'}' 和我的自定义 DB 用户提供程序中的 $salt.$password

这个要点https://gist.github.com/1243080展示了如何自定义 mergePasswordAndSalt 方法,但是每个用户提供者可以有一个 mergePasswordAndSalt 方法吗?

4

1 回答 1

1

您应该将多个编码器与FOSAdvancedEncoderBundle. 我遇到了同样的问题,在这里回答得非常周到

于 2012-09-05T16:19:58.683 回答