无法在Symfony2中使用LDAP和FOSUserbundle登录

时间:2015-06-01 07:38:40

标签: symfony ldap fosuserbundle

我第一次使用LDAP和FOSUserbundle并尝试使用LDAP和FOSUserbundle实现登录,以下是我的.yml文件

security.yml

security:
    # Preserve plain text password in token for refresh the user.
    # Analyze the security considerations before turn off this setting.
 erase_credentials: false

 firewalls:
    main:
      pattern:    ^/
      fr3d_ldap:  ~
      form_login:
          always_use_default_target_path: false
          default_target_path: /profile
          provider:    chain_provider
      logout:     true
      anonymous:  true

 providers:
    chain_provider:
        chain:
            providers: [fos_userbundle, fr3d_ldapbundle]

fr3d_ldapbundle:
        id: fr3d_ldap.security.user.provider

  fos_userbundle:
        id: fos_user.user_provider.username

 encoders:
     ABC\AbcBundle\Entity\Users: plaintext

config.yml

fos_user:
    db_driver: orm # other valid values are 'mongodb', 'couchdb' and  'propel'
firewall_name: main
user_class: Abc\AbcBundle\Entity\Users

#LDAP    
fr3d_ldap:
    driver:
        host:                abc.com
        port:                389    
        username:            cn=admin,dc=abc,dc=com
        password:            pass1    
        bindRequiresDn:      true   
#       baseDn:              dc=abc, dc=com   
        accountFilterFormat: (&(username=%s)) 
        optReferrals:        false  # Optional
#       useSsl:              true   # Enable SSL negotiation. Optional
#       useStartTls:         true   # Enable TLS negotiation. Optional
        accountCanonicalForm: 3 
        accountDomainName: abc.com
        #accountDomainNameShort: HOST # if you use the Backslash form  set both to Hostname than the Username will be converted to HOST\User
user:
    baseDn: dc=abc, dc=com
    filter: (&(ObjectClass=Users))
    attributes:          # Specify ldap attributes mapping [ldap attribute, user object method]
       - { ldap_attr: username,  user_method: setUserName } # Default
     #  - { ldap_attr: cn,   user_method: setName }     # Optional

#        - { ldap_attr: ...,  user_method: ... }         # Optional
service:
    user_manager: fos_user.user_manager          # Overrides default user manager
    ldap_manager: fr3d_ldap.ldap_manager.default # Overrides default ldap manager
    #ldap_manager: abc.ldap.ldap_manager

的routing.yml

fos_user:
    resource: "@FOSUserBundle/Resources/config/routing/all.xml"
fos_user_security:
    resource: "@FOSUserBundle/Resources/config/routing/security.xml"
fos_user_profile:
    resource: "@FOSUserBundle/Resources/config/routing/profile.xml"

当我尝试使用我的凭据登录时,我在try catch块

中遇到异常
object(stdClass)#3642 (5) {
  ["__CLASS__"]=>
  string(33) "Zend\Ldap\Exception\LdapException"
  ["message"]=>
  string(52) "0x51 (Can't contact LDAP server): ldap://abc.com:389"
  ["code"]=>
  int(81)
  ["file"]=>
  string(113) "/home/vishalsabnis/xyz/dcf/vendor/zendframework/zend- ldap/src/Ldap.php"
  ["line"]=>
  int(836)
}
prefix: /profile

我不知道我在哪里想念的东西

0 个答案:

没有答案