Ich arbeite an einem Plug-in zu einem unserer Produkte (ein RMS), die es Kunden ermöglichen, Mitarbeiterinformationen in ihrem LDAP-Verzeichnis in eine entsprechende Person Datensatz in unserer Anwendung zu importieren.Ist Active Directory wirklich LDAP-konform?
Unser RMS ermöglicht Person Datensätze mehrere Namen und Adressen (es ist ein öffentliches Sicherheitssystem: Diese Funktion ist für die Unterstützung von Personen mit AKA und mehrere bekannte Adressen). Aufgrund der Art der Software halten wir es für sehr nützlich, mehrere Namen und Adressen aus LDAP zu ziehen, wenn der LDAP-Server dies unterstützt.
Ich hatte den Eindruck, Active Directory würde dies unterstützen, aber es scheint überhaupt nicht zu sein. Betrachtet man beispielsweise RFC 2256, Abschnitte 5.41 und 5.42, so scheint es offensichtlich, dass givenName
ein mehrwertiges Feld sein soll (d. H. Die Syntax spezifiziert nicht SINGLE-VALUE
und RFC 2252 gibt an, dass "multi-value" der Standardwert ist). Dasselbe gilt für cn
, sn
, streetAddress
und die meisten anderen "Standard" -Attribute, die ich nachschlagen möchte.
Microsoft own documentation das scheint darauf hinzudeuten, dass sie in Übereinstimmung mit RFC sind 2256:
Derzeit Windows 2000 Active Directory- erreicht LDAP Compliance durch die Unterstützung der folgenden RFCs.
[RFC 2256 wird dann unter den verschiedenen "unterstützt" RFCs aufgelistet, unter den "Core-LDAP-Anforderungen - RFC 3377" Überschrift]
RFC 3377 besagt, dass RFC 2256 in der Tat ein Teil einer Sammlung von 8 RFCs ist Diese umfassen zusammen die komplette technische Spezifikation für LDAPv3.
Ich bin verwirrt: würde nicht die tatsächliche vorgeschlagene Syntax für Standard-Attribute wie givenName
et al folgen. "Nichteinhaltung" darstellen?
Hat auch jemand eine definitive Liste der Unterschiede zwischen dem Verbinden mit und dem Abfragen von Active Directory im Vergleich zu anderen Verzeichnisservern (OpenLDAP, eDirectory usw.)? Dies ist eine VB6-Anwendung, daher verwende ich den ADODB-Provider ADSDSOObject
. Anfangs dachte ich, ich könnte einfach den gleichen Code für einen beliebigen Verzeichnisserver schreiben und ihn so lange verwenden, wie ich Standardattribute verwende, aber offensichtlich, wenn das gleiche Attribut in einigen Implementierungen als einwertig und in anderen als multi-value definiert ist Ich werde Code schreiben müssen, um mit diesem Szenario umzugehen.
Ich beginne mich zu fragen, ob dies ein Grund ist, warum so viele Anwendungen, die eine "LDAP-Integration" haben, normalerweise eine komplett separate Einstellungsseite für "Active Directory" und dann die Einstellungen für "jedes andere LDAP" haben Server, der kein Active Directory ist "...
nur eine Sache, die ich mehr als LDAP verabscheue, und das ist Lotus Notes –
Hmm .. ich denke, "unterstützt" ist nicht das gleiche wie "volle Compliance" dann. –
@Mitch Wheat: Obwohl ich immer noch nicht das "Vergnügen" hatte, Lotus Notes zu benutzen, kann ich, nach allem, was ich gehört und gelesen habe, sagen, dass das eine faire Aussage ist :-) –