Ahoi,
ich versuche momentan zwei Datenbanken mit Werten eines LDAP-Servers zu füttern. In einer Datenbank möchte ich die Gruppen (incl. Obergruppen) abspeichern und in der anderen die User (incl. Gruppen). Das ganze klappt soweit schon ganz gut, wenn ich mir nach dem Sync die Datenbank angucke ist so gut wie alles korrekt übertragen, nur
User -> memberOf
Group -> member
Group -> memberOf
erscheinen mir nicht korrekt gefüllt. Es steht immer nur ein Mitglied bzw. eine Gruppe drin obwohl es teilweise mehr sein sollten.
Nun hab ich gegoogelt und ich weiß jetzt auch was an meiner Art falsch ist. Ich behandle die Felder wie normale Felder und nicht wie Felder mit einem "Array" als Inhalt. Beim googeln habe ich viele Lösungen gesehen die dann irgendwelche Sachen machen die ich nicht verstehe. Ich hab auch schon einige angepasst verwendet aber trotzdem hat es nicht geklappt. Ich verstehe nicht was FEusers, BEusers,BEgroups und FEgroups ist und wie das funktioniert.
Meine Konfiguration bisher:
personal_data = LDAP_SYNC
personal_data {
enable = 1
table = tx_irtstaff_user
basedn = ou=[...]
filter = (&(objectCategory=person)(objectClass=user))
handleNotFound = 1
handleNotFound.delete = 1
uniqueField = dn
fields {
sAMAccountName= MAP_OBJECT
sAMAccountName.attribute = sAMAccountName
dn = MAP_OBJECT
dn.special = DN
sn= MAP_OBJECT
sn.attribute = sn
givenname= MAP_OBJECT
givenname.attribute = givenName
mail= MAP_OBJECT
mail.attribute = mail
telephoneNumber= MAP_OBJECT
telephoneNumber.attribute = telephoneNumber
facsimiletelephonenumber= MAP_OBJECT
facsimiletelephonenumber.attribute = facsimileTelephoneNumber
mobile= MAP_OBJECT
mobile.attribute = mobile
countrycode= MAP_OBJECT
countrycode.attribute = countryCode
l= MAP_OBJECT
l.attribute = l
postalcode= MAP_OBJECT
postalcode.attribute = postalCode
streetaddress= MAP_OBJECT
streetaddress.attribute = streetAddress
physicaldeliveryofficename= MAP_OBJECT
physicaldeliveryofficename.attribute = physicalDeliveryOfficeName
company= MAP_OBJECT
company.attribute = company
department= MAP_OBJECT
department.attribute = department
memberof= MAP_OBJECT
memberof.attribute = memberOf
position= MAP_OBJECT
position.attribute = title
}
}
}
group_data {
enable = 1
table = tx_irtstaff_groups
handleNotFound = 0
basedn = [...]
filter = (objectClass=group)
uniqueField = cn
fields {
sAMAccountName= MAP_OBJECT
sAMAccountName.attribute = sAMAccountName
cn= MAP_OBJECT
cn.attribute = cn
member= MAP_OBJECT
member.attribute = member
memberOf= MAP_OBJECT
memberOf.attribute = memberOf
managedBy= MAP_OBJECT
managedBy.attribute = managedBy
}
}
Eine Lösung aus dem Internet sah so aus:
memberof = MAP_OBJECT
memberof {
attribute = memberOf
userFunc = tx_ldapserver->getFEGroups
}
aber so allein hat das nicht funktioniert. Im Internet stand dann noch diesewr ganze FEusers-Kram drunter von dem ich nicht weiß was es macht und wasich auch bisher nicht rausfinden konnte.
Danke schonmal im Vorraus,
Markus