首页 文章

symfony2 - 具有多个用户提供程序的多个编码密码方法

提问于
浏览
1

我想用两个不同的编码密码方法链接两个用户提供者(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 回答

  • 1

    您应该将多个编码器与 FOSAdvancedEncoderBundle 结合使用 . 我遇到了同样的问题,并且回答得很漂亮over here

相关问题