Symfony2 FR3DLdapBundle和FOSUserBundle在数据库中插入

时间:2015-02-10 11:19:25

标签: symfony ldap fosuserbundle fr3dldapbundle

我加入了识别LDAP fos。 识别工作正常,但fosuser将我的用户添加到数据库中。 我希望我禁用数据库中的插入。 此外,如果我尝试重新连接,它会尝试重新集成用户。

如何禁用fos_user_security_check?或者取消激活fosuser的检查。

感谢您的帮助。

这是我的conf

security.yml

security:
    providers:
        chain_provider:
            chain:
                providers: [fos_userbundle, fr3d_ldapbundle]
        fr3d_ldapbundle:
            id: fr3d_ldap.security.user.provider
        fos_userbundle:
            id: fos_user.user_manager

    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false
        main:
            pattern: ^/
            fr3d_ldap:  ~
            form_login:
                always_use_default_target_path: true
                default_target_path: /
            logout:     true
            anonymous:  true
        default:
            anonymous: ~
    encoders:
        Pnrv\Bundle\UserBundle\Entity\User: plaintext

config.yml

fos_user:
    db_driver: orm 
    firewall_name: main
    user_class: Pnrv\Bundle\UserBundle\Entity\User
fr3d_ldap:
    driver:
        host:         myhost
    user:
        baseDn: ou=users, dc=name,dc=int
        filter: (&(ObjectClass=Person))
        attributes:          
           - { ldap_attr: uid,  user_method: setUsername } # Default
           - { ldap_attr: mail,   user_method: setEmail }     # Optional
           - { ldap_attr: givenname,   user_method: setName }     # Optional

2 个答案:

答案 0 :(得分:-1)

为避免持久存在数据库中的用户对象,只需从fos_userbundle

中删除chain_provider

FR3DLdapBundle将在每次身份验证时动态创建用户对象。

答案 1 :(得分:-2)

最后我没有禁用fosuser,我终于设法获得了两个捆绑。 谢谢你的回答。 如果你想知道我是怎么做到的: Integration example