Wiki source code of LDAP-Einbindung für Anwendungen
Last modified by Christoph Bußenius on 2025/07/23 12:35
Hide last authors
| author | version | line-number | content |
|---|---|---|---|
| |
1.1 | 1 | == Für wen ist dieser Artikel? == |
| 2 | |||
| |
1.4 | 3 | * Du möchtest eine eigene Web-Anwendung o.ä. auf einem eigenen Server oder einer VM installieren |
| |
1.1 | 4 | * Du möchtest den Login für CIT-Kennungen ermöglichen (nicht die TUM-Kennungen) |
| 5 | * Du möchtest evtl. auch Gruppenzugehörigkeit zu Gruppen aus der StrukturDB prüfen | ||
| 6 | |||
| 7 | Andere Anwendungsfälle: | ||
| 8 | |||
| 9 | * [[LDAP-Login für Linux>>doc:CIT.ITO.Docs.Guides.LDAP-Client.WebHome]] | ||
| 10 | * [[Netzwerkadressbuch für E-Mail-Programme>>doc:CIT.ITO.Docs.Services.E-Mail.LDAP Address Book.WebHome]] | ||
| 11 | |||
| 12 | == Config: == | ||
| 13 | |||
| |
1.2 | 14 | * LDAP-Server: ldaps:~/~/ldap.cit.tum.de (Port 636) oder ldap:~/~/ldap.cit.tum.de (Port 389 mit StartTLS) |
| 15 | * Base: ##ou=dir,dc=cit,dc=tum,dc=de## | ||
| 16 | * Suchterm für Users: ##(&(objectClass=rbgAccount)(uid=LOGINNAME))## ~-~- Dabei ist LOGINNAME der Login-Name, den man sucht | ||
| 17 | * Alternativ zur User-Suche: DN Pattern benutzen: ##uid=LOGINNAME,ou=users,ou=dir,dc=cit,dc=tum,dc=de## | ||
| |
1.3 | 18 | |
| 19 | Der LDAP-Server ist aus den IP-Ranges der CIT zugänglich. Es kann entweder anonymer LDAP benutzt werden oder Bind auf irgend eine User-Kennung per Benutzerpasswort. | ||
| 20 | |||
| 21 | === Gruppen === | ||
| 22 | |||
| |
1.4 | 23 | Es können die Benutzergruppen aus der StrukturDB abgefragt werden. |
| 24 | |||
| |
2.1 | 25 | Wir unterstützen ##posixGroup##, ##groupOfNames## sowie ##groupOfUniqueNames##. Alle Gruppen sind mit jeder der drei Varianten verfügbar. Viele verfügbare Anwendungen unterstützen nur eine dieser Varianten. |
| |
1.4 | 26 | |
| 27 | Die Suchterme sind jeweils: | ||
| 28 | |||
| 29 | * ##(&(cn=GROUPNAME)(objectClass=posixGroup))## (base wie oben) | ||
| 30 | * ##(&(cn=GROUPNAME)(objectClass=groupOfNames))## (base wie oben) | ||
| 31 | * ##(&(cn=GROUPNAME)(objectClass=groupOfUniqueNames))## mit base ##ou=udngroups,dc=cit,dc=tum,dc=de## | ||
| |
1.5 | 32 | |
| |
2.1 | 33 | Die ##groupOfUniqueNames## hat eine andere Base und sollte nur benutzt werden, wenn die anderen Varianten überhaupt nicht unterstützt werden. |
| |
3.1 | 34 | |
| 35 | === Command Line === | ||
| 36 | |||
| 37 | Vor allem zum Testen sind diese Command-Line-Tools hilfreich. Hierbei wird das ##ldapsearch## aus dem Ubuntu-Paket ldap-utils gebraucht. Beachte, dass es (z.B. auf Solaris) auch Varianten von ldapsearch gibt, die andere Optionen brauchen. | ||
| 38 | |||
| 39 | ==== LDAP-Baum dumpen: ==== | ||
| 40 | |||
| 41 | ##ldapsearch -x -H 'ldaps:~/~/ldap.cit.tum.de' -b 'dc=cit,dc=tum,dc=de'## | ||
| 42 | |||
| |
4.1 | 43 | ==== User suchen: ==== |
| 44 | |||
| |
5.1 | 45 | ##ldapsearch -x -H 'ldaps://ldap.cit.tum.de' -b 'dc=cit,dc=tum,dc=de' '(&(objectClass=rbgAccount)(uid=USERNAME))' |
| |
4.1 | 46 | |
| 47 | ==== Userpasswort prüfen: ==== | ||
| 48 | |||
| |
5.1 | 49 | ##ldapsearch -x -H 'ldaps://ldap.cit.tum.de' -D 'uid=USERNAME,ou=users,ou=dir,dc=cit,dc=tum,dc=de' -W '' b 'ou=dir,dc=cit,dc=tum,dc=de' -s base |