2012-04-13 13 views
1

Ich habe die folgenden zwei ldap (slapd) Server:Chaining-Authentifizierung mit LDAP

company.com

  • ou = users, dc = company, dc = com
    • uid = employee1
    • uid = employee2

opensourceproject.com

  • ou = users, dc = opensourceproject, dc = com
    • uid = member1
    • uid = member2

Was ich will, zu erreichen ist, dass ein client (bugzilla, svn, etc.) transparent das opensourceproject abfragen kann. com ldap für Benutzer auf beiden Servern. Eine Abfrage könnte lauten: "check authenticationof uid = employee1", gesendet von einem Client an die opensourceproject.com LDAP-Server. Der Server sollte jetzt in seine Liste schauen und sehen, ob der Benutzer verfügbar ist, falls nicht, ketten Sie die Firma.com ldap und suchen Sie dort, wenn vorhanden: geben Sie das Ergebnis zurück.

Ist es möglich, dies zu erreichen? Die meisten Kunden benötigen eine Suchbasis, um das Mitglied zu finden, so würde ich wahrscheinlich die Suche auf ou = Benutzer, dc = opensourceproject, dc = com, die nicht auf dem company.com Server existiert, so i bin mir nicht sicher, wie ich die beiden Bäume verbinden soll. Wenn ich eine leere Suchdatenbank verwende, funktioniert das? Ich kann mir vorstellen, dass ich alle möglichen Probleme mit der Bindung haben könnte.

Ist es möglich, dies mit ldap zu arbeiten? Wenn ja, wie?

+0

Sind Sie sich der Einzigartigkeit der UID über die zwei Verzeichnisse sicher? – JPBlanc

+0

Ja, das ist gewährleistet. – Nihathrael

Antwort

2

Es existieren mindestens vier mögliche Lösungen:

  • Der LDAP-Client muss zwei Suchen durchführen, eine mit einem Objekt Basis auf den Standort des Benutzers auf einem Server entspricht, und die andere mit einem Basisobjekt entspricht, die Position der Benutzer auf dem anderen Server; Suchbereiche, Filter und Attribute, die abgerufen werden sollen, müssen für jeden Server angepasst werden. Diese Lösung ist, obwohl sie praktikabel ist, eine schlechte Form, da die LDAP-Clients zwei verschiedene Informationssätze (eine für jeden Server) kennen müssen, was die Lösung nicht skalierbar, fragil und spröde macht. Außerdem gibt es die Frage der Richtlinie: welche Authentifizierung sollte verwendet werden, wenn eine Authentifizierungs-ID beider Server existiert?
  • Verwendung eines LDAP-Proxy-Servers, der DN-Zuordnung unterstützt, wobei der Proxy-Server Abfragen von dc=opensourceproject,dc=com in Abfragen von dc=company,dc=com umwandeln kann. Ein solches Produkt kann von UnboundID erworben werden. Die obige Grundsatzfrage gilt.
  • Verwenden Sie einen Synchronisationsserver zu kombinieren die Daten auf beiden Servern und legen Sie die Ergebnisse in einem dritten Server, der von LDAP-Clients abgefragt wird. Die oben genannte Richtlinienfrage wird dann vom Synchronisationsserver verwaltet.
  • Kombinieren Sie die Daten auf den beiden Servern manuell.
+0

Ich werde die manuelle Synchronisierung verwenden. – Nihathrael