[TYPO3] LDAP Sync on Typo3 4.0 problem
Bing Du
bdu at iastate.edu
Mon Jul 3 22:30:56 CEST 2006
Bing Du wrote:
> Hi,
>
> Typo3 4.0.
> lday_sync 0.2.1
> ldap_lib 0.2.0
> ldap_server 0.2.1
> ldap_auth 0.2.1
>
> When I clicked Web->LDAP Sync, and then the 'FE Users and LDAP'
> sysFolder in the page tree, I have no problem seeing the defined ldap
> server listed. However, clicking either 'Do Sync' or 'Simulate Sync'
> button doesn't make anything happen. Where can I find more information
> on what LDAP Sync is doing? Is it a LDAP connection problem or some
> problem prevents users info from being pulled out of the LDAP server
> (OpenLDAP)?
>
> The following is the ldap_server (OpenLDAP) config:
>
> Enable for backend authentication checkbox: checked
> Servername: xxx.xxx.xxx.xx:389
> ServerType: x500(OpenLDAP)
> LDAP protocol version: 3
> Base DN: DC=some,DC=edu
> Filter for persons: (&(objectClass=*)(uid=###USERNAME###))
> Configuration:
> ==
> FEusers = LDAP_SYNC
> FEusers {
> enable = 1
> handleNotFound = 0
> table = fe_users
> pid = 56
> uniqueField = tx_ldapserver_dn
> fields {
> username = MAP_OBJECT
> username.attribute = uid
> username.userFunc = tx_ldapserver->getSingleValue
>
> company = MAP_OBJECT
> company.attribute = isuPersonDeptName
> company.userFunc = tx_ldapserver->getSingleValue
>
> name = MAP_OBJECT
> name.attribute = displayName
> name.userFunc = tx_ldapserver->getSingleValue
>
> email = MAP_OBJECT
> email.attribute = mail
> email.userFunc = tx_ldapserver->getSingleValue
>
> country = MAP_OBJECT
> country.attribute = co
> country.userFunc = tx_ldapserver->getSingleValue
>
> telephone = MAP_OBJECT
> telephone.attribute = telephoneNumber
> telephone.userFunc = tx_ldapserver->getSingleValue
>
> address = MAP_OBJECT
> address.attribute = postalAddress
> address.userFunc = tx_ldapserver->getSingleValue
>
> tx_ldapserver_dn = MAP_OBJECT
> tx_ldapserver_dn.special = DN
>
> password = MAP_OBJECT
> password.attribute = userClass
> password.include =
> /data/www/html/site/typo3conf/ext/jm_pubcookie/class.tx_jmpubcookie.php
> password.userFunc = tx_jmpubcookie->randomPassword
>
> usergroup = MAP_OBJECT
> usergroup {
> attribute = userClass
> userFunc = tx_ldapserver->getFEGroups
> userFunc {
> pid = 56
> table = fe_groups
> identField = title
> }
> }
>
>
> }
> }
>
>
> BEusers = LDAP_SYNC
> BEusers {
> enable = 1
> table = be_users
> pid = root
> handleNotFound = 0
> filter = (&(objectClass=person))
> uniqueField = tx_ldapserver_dn
> fields {
> username = MAP_OBJECT
> username.attribute = uid
> username.userFunc = tx_ldapserver->getSingleValue
>
> password = MAP_OBJECT
> password.attribute = userClass
> password.include =
> /data/www/html/site/typo3conf/ext/jm_pubcookie/class.tx_jmpubcookie.php
> password.userFunc = tx_jmpubcookie->randomPassword
>
> realName = MAP_OBJECT
> realName.attribute = displayName
> realName.userFunc = tx_ldapserver->getSingleValue
>
> email = MAP_OBJECT
> email.attribute = mail
> email.userFunc = tx_ldapserver->getSingleValue
>
> tx_ldapserver_dn = MAP_OBJECT
> tx_ldapserver_dn.special = DN
>
> usergroup = MAP_OBJECT
> usergroup {
> attribute = userClass
> userFunc = tx_ldapserver->getBEGroups
> userFunc {
> pid = root
> table = be_groups
> identField = title
> }
> }
> }
> }
>
> FEgroups < FEusers
> FEgroups {
> table = fe_groups
> handleNotFound = 0
> filter = objectClass=userClass
> fields {
> username >
> email >
> name >
> password >
> usergroup >
> company >
> telephone >
> country >
> title = MAP_OBJECT
> title.attribute = userClass
> title.userFunc = tx_ldapserver->getSingleValue
> }
> }
>
>
> BEgroups < FEusers
> BEgroups {
> pid = root
> table = be_groups
> handleNotFound = 0
> filter = objectClass=userClass
> fields {
> username >
> email >
> name >
> password >
> usergroup >
> company >
> telephone >
> country >
> title = MAP_OBJECT
> title.attribute = userClass
> title.userFunc = tx_ldapserver->getSingleValue
> }
> }
>
> FEauth = LDAP_AUTH
> FEauth {
> enable = 1
> table = fe_users
> SSO = 1
> SSO.10.include =
> /data/www/html/site/typo3conf/ext/jm_pubcookie/class.tx_jmpubcookie.php
> SSO.10.userFunc = tx_jmpubcookie->pubcookieUser
> sync < FEusers
> }
>
> BEauth < FEauth
> BEauth {
> table = be_users
> SSO = 1
> SSO.10.include =
> /data/www/html/site/typo3conf/ext/jm_pubcookie/class.tx_jmpubcookie.php
> SSO.10.userFunc = tx_jmpubcookie->pubcookieUser
> sync < BEusers
> }
> ==
>
> If I changed the OpenLDAP server to an AD server, the LDAP Sync module
> cannot not list the LDAP server at all. But on the other side, the
> following configuration works great on the same server for us.
>
> Typo3 3.8.1
> ldap_lib 0.2.0
> ldap_server 0.2.0
> ldap_auth 0.2.0
> ldap_sync 0.2.0
>
> Anybody have any clue what might be wrong? I'd appreciate any help.
>
> Thanks,
>
> Bing
From my testing, seems like if the ldap server is listed fine in LDAP
Sync, the LDAP connection is fine. Now the problem is the user info
pulled from the LDAP is not written in the be_* and fe_* tables in the
database. Is there any other option that needs to be turned on outside
of the ldap_lib, ldap_server, ldap_auth and ldap_sync extensions in
order to use ldap authentication?
Bing
More information about the TYPO3-english
mailing list