[linux-l] LDAP (war: "Zeit die Distri zu wechseln...")
Volker Grabsch
vog at notjusthosting.com
Mo Jun 7 18:36:29 CEST 2010
Frank Reker <frank at reker.net> schrieb:
> Am Mon 07. Jun 2010 13:49 +0200 schrieb Volker Grabsch:
>
> >Moderne Systeme gehen aber weg von einem reinen LDAP-Server. Sowohl bei
> >Datenbanken als auch bei den NoSQL-Sachen gibt einen Trend, LDAP mehr
> >als Protokoll statt als Datenmodell zu verstehen.
> >
> >Das heißt, man packt an seine bisherige Datenbank bzw. an seine Applikation
> >ein LDAP-Frontend ran, über das dann Mailclients und Authentifizierungs-
> >Dienste auf die Datenbank zugreifen. So spart man sich einen separaten
>
> und was ist openldap anderes? openldap ist in ein front- und ein backend
> unterteilt. das frontend stellt das protokoll zur verfuegung das backend
> den datenzugriff. und als backend gibt es etliche. berkley-db, sql, shell,
> passwd, ... - backends.
Stimmt, ich sehe gerade, dass OpenLDAP inzwischen ein PostgreSQL-Backend
bedienen kann.
Nunja, mein Gedanke war eher ein PostgreSQL-Modul, das LDAP-Funktionalität
bereitstellt. Oder eine entsprechende Erweiterung für CouchDB, oder was
auch immer man verwendet. Aber so herum geht es natürlich auch.
> fuer sql-zugriffe laesst sich das sql-backend auch recht flexibel
> konfigurieren, so dass man die eigentlichen datenbankzugriffe dann
> per storage-procedure direkt in oracle/postgress/... eingeben kann.
>
> auf grund dieser modularitaet bedarf openldap aber auch etwas
> erfahrung oder alternativ viel geduld alles aufzusetzen. danach
> laeuft aber alles wunderbar stabil.
Mir ist in dem Zusammenhang folgende Howto aufgefallen:
http://darold.net/projects/ldap_pg/HOWTO/
Auf den ersten Blick macht die Howto einen ganz durchdachten Eindruck,
allerdings ist mir auch gleich ein großer Patzer aufgefallen:
http://darold.net/projects/ldap_pg/HOWTO/x67.html#AEN82
3.2.1. slapd.conf
dbname PgSQL
dbuser test
dbpasswd test
insentry_query "insert into ldap_entries (id,dn,oc_map_id,parent,keyval) values ((select max(id)+1 from ldap_entries),?,?,?,?)"
Dieser Insert-Query wird knallen, wenn viele Benutzer gleichzeitig einen
Knoten anlegen wollen. Die Konstruktion "insert ... max(id)+1" ist ein
klassisches Anti-Pattern, d.h. der Autor kennt offenbar keine PostgreSQL-
Sequences.
(Ich war der Meinung, dass ich neulich genau dazu eine Warnung im PostgreSQL-
Handbuch gelesen habe, aber ich kann die Stelle nicht mehr wiederfinden.)
Gruß
Volker
--
Volker Grabsch
---<<(())>>---
Administrator
NotJustHosting GbR
Mehr Informationen über die Mailingliste linux-l