Skip to main content
Skip table of contents

LDAP Connector

Dieser Adapter stellt eine Verbindung zu einem LDAP-Server (Lightweight Directory Access Protocol) her, um Kontaktdaten abzufragen – bei Bedarf über LDAP Secure. Über adapterspezifische XML-Dokumente als Input-Daten können verschiedene Operationen ausgeführt werden.

Die Konfiguration für LDAP Secure mit selbstsignierten Zertifikaten lässt sich in der Konfigurationsdatei X4config.xml vornehmen, siehe LDAPS-Konfiguration.

Eigenschaften (Properties)

Operation

Bestimmt, welche Operation der Adapter durchführt

Mögliche Werte: Execute: Adapter ausführen

Parameter

Adapter

Hauptklasse des Adapters (nicht verändern!)

Mögliche Werte: de.softproject.integration.adapter.ldap.Ldap: Hauptklasse (Standard)

java.naming.factory.initial

Name der Klasse, die den LDAP-Dienst bereitstellt

Mögliche Werte: Beliebiger Klassenname, z.B. com.sun.jndi.ldap.LdapCtxFactory

java.naming.provider.url

URL des LDAP(S)-Servers

Mögliche Werte: Beliebige URL

java.naming.security.authentication

Authentifizierungsmethode

Mögliche Werte: Beliebige gültige Zeichenkette (z.B. simple)

java.naming.security.principal

Name des Benutzers bzw. der Authentifizierungs-Anwendung (abhängig von der Authentifizierungsmethode)

Mögliche Werte: Beliebige gültige Zeichenkette (z.B. cn=S. User, ou=NewHires, o=JNDITutorial)

java.naming.security.credentials

Zugehöriges Passwort des Benutzers bzw. der Authentifizierungs-Anwendung (abhängig von der Authentifizierungsart)

Mögliche Werte: Beliebige Zeichenkette (z.B. mysecret)

java.naming.referral

Definiert, wie mit Weiterleitungen umgegangen werden soll.

Mögliche Werte:

  • ignore: Weiterleitungen ignorieren

  • follow: Allen Weiterleitungen automatisch folgen

  • throw: Für jede Weiterleitung eine ReferralException auslösen (siehe ReferralException auslösen)

attributesAsElements

Attribute eines Objektes ausgeben

Mögliche Werte:

  • true: Attribute eines Objektes ausgeben

  • false: Keine Objekt-Attribute ausgeben (Standard)

acceptAllCertificates

Deaktiviert die Sicherheitseinstellungen durch Akzeptieren eines beliebigen Zertifikats

Mögliche Werte:

  • true: Ein beliebiges Zertifikat wird akzeptiert

  • false: Nur selbstsignierte Zertifikate werden akzeptiert (Standard)

acceptAllHostnames

Deaktiviert die Sicherheitseinstellungen durch Akzeptieren eines beliebigen im Zertifikat enthaltenen Hostnamen.

Mögliche Werte:

  • true: Akzeptiert einen beliebigen Hostnamen 

  • false : Sicherheitseinstellungen sind aktiviert (Standard)

Statuswerte

1

Die Operation wurde erfolgreich ausgeführt.

2

Operation Compare erforderlich. LDAP-Eintrag stimmt mit den Angaben im Input-XML-Dokument  überein.

3

Operation Compare erforderlich. LDAP-Eintrag stimmt nicht mit den Angaben im Input-XML-Dokument  überein.

-1

Die Operation ist aufgrund eines technischen Fehlers fehlgeschlagen.

ReferralException auslösen

Wenn Weiterleitungen manuell verarbeitet werden sollen, dann müssen folgende Schritte befolgt werden:

  1. Exception auffangen.

  2. Weiterleitungsinformationen auslesen, indem ReferralException.getReferralInfo() verwendet wird und z. B. den Benutzer fragen, ob der Weiterleitung gefolgt werden soll.

    1. Wenn der Weiterleitung gefolgt werden soll, den Weiterleitungskontext mit ReferralException.getReferralContext() auslesen und die ursprüngliche Kontextmethode mit den gleichen Argumenten erneut aufrufen, die auch für den ursprünglichen Aufruf verwendet werden sollte.

    2. Wenn der Weiterleitung nicht gefolgt werden soll, ReferralException.skipReferral() aufrufen.

      1. Wenn diese Methode true zurückgibt, dann bedeutet das, dass mehreren Weiterleitungen gefolgt werden soll.

        Wenn das der Fall ist, ReferralException.getReferralContext() aufrufen, um fortzufahren. Wenn eine Kontextmethode das Ergebnis aufruft, dann wird für die nächste Weiterleitung wieder eine Exception ausgelöst. Diese Exception ab Schritt 1 behandeln.

      2. Wenn die Methode false zurückgibt, dann gibt es keine Verweise mehr und dieses Verfahren kann beendet werden.

Weitere Informationen unter https://docs.oracle.com/javase/jndi/tutorial/ldap/referral/throw.html.

Input

Dieser Funktions-Adapter erwartet spezifische Input-XML-Strukturen, die LDAP-Befehle enthalten. Diese Input-XML-Strukturen können über XSL-Mappings in Abhängigkeit von den verarbeiteten Daten dynamisch generiert werden.

search-Befehl

Mit dem LDAP-Befehl search können Sie Einträge im LDAP-Verzeichnis suchen.

Input

Der LDAP Adapter erwartet zum Ausführen des search-Befehls folgende Input-XML-Struktur:

HTML/XML
<?xml version="1.0" encoding="UTF-8"?> <ldap> <search> <!-- Distinguish Name - base node in LDAP tree where to start search --> <name>OU=Accounts,DC=softproject,DC=local</name> <!-- Search filter - required --> <!-- filter that is applied on search result --> <filter>objectclass=user</filter> <!-- Search control settings --> <controls> <!-- Search scope. --> <!-- Keywords: object, subtree, onelevel --> <!-- object - Results from search will contain one or zero element. --> <!-- One element if the named object satisfies the search --> <!-- filter specified in search. --> <!-- subtree - Search the entire subtree rooted at the named object. --> <!-- onelevel - Search one level of the named context. --> <scope>subtree</scope> <!-- Time limit (ms) - for request duration --> <timeLimit>5000</timeLimit> <!-- List of attributes that should be returned, separated by colon. --> <attributes>uSNCreated,givenname,displayName,cn</attributes> <!-- Count limitation for result --> <countLimit>100</countLimit> </controls> </search> </ldap>

Output

Der erfolgreich ausgeführte Adapter gibt folgendes XML-Dokument aus:

HTML/XML
 <ldap name="dc=sp-linux" filter="(objectclass=*)" scope="subtree" attributes="cn,sn" countLimit="4"> <entry dn="dc=sp-linux" /> <entry dn="cn=Manager,dc=sp-linux"> <cn>Manager</cn> </entry> <entry dn="o=softproject,dc=sp-linux" /> <entry dn="sn=Tester,o=SoftProject,dc=sp-linux"> <sn>Tester</sn> <cn>John</cn> </entry> </ldap>

add-Befehl

Mit dem LDAP-Befehl add können Sie Einträge dem LDAP-Verzeichnis hinzufügen.

Input

Der LDAP Adapter erwartet zum Ausführen des add-Befehls folgende Input-XML-Struktur:

HTML/XML
<ldap> <add> <name>sn=Tester, o=SoftProject, dc=sp-linux</name> <!--dn--> <attributes> <objectClass>person</objectClass> <sn>Tester</sn> <cn>John</cn> </attributes> <!--list of attributes that will be added--> </add> </ldap>

Output

Der erfolgreich ausgeführte Funktions-Adapter gibt nach der Ausführung des add-Befehls kein XML-Dokument aus, sondern lediglich den Status 1 (successful) oder im Fehlerfall den Status -1 (Error).

modify-Befehl

Mit dem LDAP-Befehl modify können Sie Einträge im LDAP-Verzeichnis verändern. Dabei werden wie in einer Transaktion entweder alle Einträge geändert oder im Fehlerfall keine Änderungen an den Einträgen vorgenommen.

Input

Der  LDAP Adapter  erwartet zum Ausführen des modify-Befehls folgende Input-XML-Struktur:

HTML/XML
<ldap>
    <modify>
        <name>dc=sp-linux</name>
        <!--dn-->
        <add>
            <o>Tester</o>
        </add>
        <replace>
            <o>SoftProject</o>
        </replace>
        <remove>
            <o>SoftProject</o>
        </remove>
    </modify>
    </ldap>

Beispiel für ein Passwort replace:

XML
<ldap>
 	<modify>
 		<name>dc=sp-linux</name>
 		<add>
 			<o>Tester</o>
 		</add>
 		<replace>
 			<unicodePW base64="true">dGVzdCE=</unicodePW>
 		</replace>
	</modify>
</ldap>

Output

Der erfolgreich ausgeführte Funktions-Adapter gibt nach der Ausführung des modify-Befehls kein XML-Dokument aus, sondern lediglich den Status 1 (successful) oder im Fehlerfall den Status -1 (Error).

modifyDN-(RDN)-Befehl

Mit dem LDAP-Befehl modifyDN (RDN) können Sie Einträge im LDAP-Verzeichnis bearbeiten.

Input

Der LDAP Adapter  erwartet zum Ausführen des modifyDN-RDN-Befehls folgende Input-XML-Struktur:

HTML/XML
<ldap>
    <modifyDN-RDN>
        <oldName>sn=Tester, o=SoftProject, dc=sp-linux</oldName>
        <!--dn-->
        <newName>sn=TestUser, o=SoftProject, dc=sp-linux</newName>
        <!--dn-->
    </modifyDN-RDN>
    </ldap>

Output

Der erfolgreich ausgeführte Funktions-Adapter gibt nach der Ausführung des modifyDN-RDN-Befehls kein XML-Dokument aus, sondern lediglich den Status 1 (successful) oder im Fehlerfall den Status -1 (Error).

delete-Befehl

Mit dem LDAP-Befehl delete können Sie Einträge im LDAP-Verzeichnis löschen.

Input

Der LDAP Adapter  erwartet zum Ausführen des delete-Befehls folgende Input-XML-Struktur:

XML
<ldap>
	<delete>
		<name>sn=Tester, o=SoftProject, dc=sp-linux</name>
		<!--dn-->
	</delete>
</ldap>

Output

Der erfolgreich ausgeführte Funktions-Adapter gibt nach der Ausführung des delete-Befehls kein XML-Dokument aus, sondern lediglich den Status 1 (successful) oder im Fehlerfall den Status -1 (Error).

compare-Befehl

Mit dem LDAP-Befehl compare können Sie Einträge im LDAP-Verzeichnis vergleichen.

Input

Der LDAP Adapter erwartet zum Ausführen des compare-Befehls folgende Input-XML-Struktur:

HTML/XML
<ldap>
    <compare>
        <name>sn=Tester, o=SoftProject, dc=sp-linux</name>
        <!--dn-->
        <attributes>
            <objectClass>person</objectClass>
            <sn>Tester</sn>
            <cn>John</cn>
        </attributes>
        <!--list of attributes that will be compared by values-->
        <controls>
            <scope>subtree</scope>
            <!--keywords: object,subtree,onelevel-->
            <timeLimit />
            <!--timeLimit (ms)-->
        </controls>
    </compare>
    </ldap>

Output

Der erfolgreich ausgeführte Funktions-Adapter gibt nach der Ausführung des compare-Befehls kein XML-Dokument aus, sondern lediglich den Status CompareTRUE, wenn der LDAP-Eintrag mit den Angaben im Input-XML-Dokument übereinstimmt, oder im andernfalls den Status CompareFALSE.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.