我想用两个不同的编码密码方法链接两个用户提供者(FosUserBundle和一个自定义数据库用户提供者而不是推进)
应用程序/配置/ security.yml
security:
encoders:
FOS\UserBundle\Model\UserInterface: sha512
My\AuthBundle\Model\User: sha1
providers:
my_chain_providers:
chain:
providers: ["fos_userbundle", "db_user"]
fos_userbundle:
id: fos_user.user_provider.username_email
db_user:
propel:
class: My\AuthBundle\Model\User
property: username
firewalls:
main:
pattern: ^/
form_login:
provider: my_chain_providers
logout: true
anonymous: true
我的问题:密码的哈希遵循$ password . '{' . $ salt . '}'在fos_user表中,$ salt . $ password在我的自定义数据库用户提供程序中
这个要点https://gist.github.com/1243080展示了如何自定义mergePasswordAndSalt方法,但是每个用户提供者可以有一个mergePasswordAndSalt方法吗?
1 回答
您应该将多个编码器与
FOSAdvancedEncoderBundle
结合使用 . 我遇到了同样的问题,并且回答得很漂亮over here