LDAP: Wie bei einer gegebenen uid über mehrere Organisationseinheiten suchen?
-
21-08-2019 - |
Frage
Zuerst weg, lassen Sie mich zunächst sagen, dass ich völlig neue bin mit LDAP zu arbeiten.
Ich arbeite an einer Anwendung, die einen LDAP-Server mit einigen Legacy-Anwendungen teilt.
Alle der Benutzerkonten in der Legacy-Anwendung werden in Organisationseinheiten von IDs organisiert. Jeder Eintrag hat eine uid
, dass die Benutzer E-Mail-Adresse ist.
Ich kann finden, wenn ein Benutzer mit der E-Mail some@email.com
in der Organisationseinheit 12345
existiert durch ein dn
etwas wie diese verwenden: ou=someGroup,ou=12345,uid=some@email.com
Doch was ich möchte in der Lage sein, ist für die Existenz eines Benutzers über mehrere Organisationseinheiten zu tun zu überprüfen. Zum Beispiel würde Ich mag Lage sein zu überprüfen, ob eine E-Mail in Verwendung innerhalb mit einer beliebigen Anzahl von Organisationseinheiten ist. (Zum Beispiel überprüft innerhalb 12345
, 23452
und 34352
).
Nach googeln um, so scheint es, dass ich in der Lage sein sollte, mehrere Einträge mit einem einzigen dn
zu finden, aber ich habe nicht herausgefunden, wie für dieses Szenario zu überprüfen.
Wer weiß, wie ich einen Scheck wie dies zu tun? Ich bin mit Spring LDAP.
Lösung
Ich glaube, sollten Sie in der Lage sein, dies zu tun, wie folgt:
Wie Sie Ihre Suche DN der Domäne Komponenten angeben nur:
BASE_DN = "DC = TEST, DC = COM"
Wie Sie einen Filter, geben Sie Ihre CN oder uid
FILTER = "UID = bob"
Wie Sie Ihre Suche sicher sein, „sub“ oder Ihre Spring-LDAP-spezifische Parameter angeben, den gesamten Unterbaum unterhalb der Basis-DN zu suchen.
Je nach Konfiguration können Sie die Suche auf immer Dereferenziere Links fragen müssen.