Hallo Forum,
versuche schon das ganze Wochenende fuer ein Projekt aus einem bestehenden LDAP-Server die Nutzerdaten und -gruppen in TYPO3 einzubinden.
Bisheriger Stand: Nutzer und Gruppen werden korrekt uebertragen, allerdings werden den Nutzern keine Gruppen zugeordnet.
Schema des LDAP:
Code:
dn: dc=domain,dc=tld
objectClass: dcObject
objectClass: organization
dc: domain
o: domain.tld
#
# USER im LDAP
#
dn: ou=people,dc=domain,dc=tld
objectClass: organizationalUnit
description: All people in organisation
ou: people
dn: cn=User 1,ou=people,dc=domain,dc=tld
objectClass: inetOrgPerson
cn: User 1
uid: user_1
userPassword: klsdjf;askd
description: FE_USER
dn: cn=User 2,ou=people,dc=domain,dc=tld
objectClass: inetOrgPerson
cn: User 2
uid: user_2
userPassword: skldjfa;sldkfj
description: FE_USER
#
# GRUPPEN im LDAP
#
dn: ou=groups,dc=domain,dc=tld
objectClass: organizationalUnit
description: generic groups branch
ou: groups
dn: cn=admins,ou=groups,dc=domain,dc=tld
objectClass: groupOfNames
cn: admins
description: administrator group
member: cn=User 1,ou=people,dc=domain,dc=tld
dn: cn=app_user,ou=groups,dc=domain,dc=tld
objectClass: groupOfNames
cn: webuser
description: webuser group
member: cn=User 1,ou=people,dc=domain,dc=tld
member: cn=User 2,ou=people,dc=domain,dc=tld
Wie zu sehen ist, findet die Gruppenzuordnung nicht bei den einzelnen Nutzern statt, sondern in den Gruppen (Attribut "member"). Dies sollte, wenn moeglich, auch so beibehalten werden.
Installierte Extensions:
- ldap_lib
- ldap_server
- ldap_sync
- ldap_auth
Der LDAP-Server wurde angelegt und es besteht auch eine Verbindung und die Daten werden in die TYPO3-Datenbank uebernommen, allerdings ohne die Gruppenzuordnung.
Konfiguration der Extension:
- Hide = 0
- Enable for backend authentification = 1
- Servername = {IP des Servers}
- Servertype = x500 (OpenLDAP)
- LDAP protocol version = 3
- Base DN = dc=domain,dc=tld
- Filter for persons = (&(objectClass=inetOrgPerson)(uid=###USERNAME###))
- Charset =
- Username = cn=admin,dc=domain,dc=tld
- Password = ****
- Configuration =
Code:
FEusers = LDAP_SYNC
FEusers {
enable = 1
table = fe_users
basedn = ou=people,dc=domain,dc=tld
handleNotFound = 1
handleNotFound {
delete = 1
}
pid = 8
filter = (&(objectClass=inetOrgPerson))
uniqueField = username
fields {
username = MAP_OBJECT
username.attribute = uid
password = MAP_OBJECT
password.attribute = userPassword
usergroup = MAP_OBJECT
usergroup.attribute = memberOf
usergroup.userFunc = tx_ldapserver->getFEGroups
usergroup.userFunc.pid = 8
}
}
}
FEgroups = LDAP_SYNC
FEgroups {
enable = 1
pid = 8
table = fe_groups
handleNotFound = 1
handleNotFound {
delete = 1
}
basedn = ou=groups,dc=domain,dc=tld
filter = (&(objectClass=groupOfNames))
uniqueField = title
fields {
username >
usergroup >
title = MAP_OBJECT
title.attribute = cn
title.userFunc = tx_ldapserver->getSingleValue
description = MAP_OBJECT
description.attribute = description
}
}
Vielleicht hat jemand eine Idee, was falsch sein koennte oder ob es mit dieser LDAP-Struktur ueberhaupt funktionieren kann. Fuer Hilfe waere ich sehr dankbar!
Gruesse, mister_x