我第一次使用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
我不知道我在哪里想念的东西