4D v16.3

LDAP LOGIN

Home

 
4D v16.3
LDAP LOGIN

LDAP LOGIN 


 

LDAP LOGIN ( Url ; Login ; Kennwort {; digest} )  
Parameter Typ   Beschreibung
Url  String in URL des LDAP Servers für die Verbindung
Login  String in Login Eingabe
Kennwort  String in Kennwort der Eingabe, defiiert über vorgegebenen DN
digest  Lange Ganzzahl in 0 = Sende Kennwort in digest MD5 (Standard)
1 = Sende Kennwort ohne Verschlüsselung

Der Befehl LDAP LOGIN öffnet eine Verbindung zum LDAP Server im Lesemodus, angegeben im Parameter url mit den Kennungen Login und Kennwort. Akzeptiert der Server diese Verbindung, wird sie für alle nachfolgend ausgeführten LDAP Suchen im aktuellen Prozess verwendet, bis der Befehl LDAP LOGOUT ausgeführt oder der Prozess geschlossen wird.

Im Parameter Url übergeben Sie die komplette Url des LDAP Server für die Verbindung, inkl. Protokoll und Port (standardmäßig 389). Dieser Parameter sollte die Vorgaben von rfc2255 berücksichtigen.
Sie können sichere Verbindungen über TLS über eine URL öffnen, die mit "Idaps" startet und eine spezifische Port Nummer verwendet, z.B. "ldaps://svr.ldap.acme.com:1389". Der LDAP Server muss ein SSL Zertifikat haben (zumindest für Microsoft Active Directory). Eine TLS Verbindung wird dringend empfohlen, wenn das Kennwort in Volltext gesendet wird (siehe unten).

Hinweis: Übergeben Sie in Url einen leeren String, versucht der Befehl, sich an den standardmäßig verfügbaren LDAP Server der Domain anzumelden. Dieses Feature dient nur für Testzwecke, aus Performance Gründen sollte es nicht im laufenden Betrieb verwendet werden.

Im Parameter Login übergeben Sie das Benutzer Account auf dem LDAP Server, im Parameter Kennwort das Benutzerkennwort. Je nach Konfiguration des LDAP Server kann Login standardmäßig einer der folgenden Login Strings sein:

  • Ein Distinguished Name (DN), zum Beispiel "CN=John Smith,OU=users,DC=example,DC=com"
  • Der Benutzername (CN), zum Beispiel "CN=John Smith"
  • Eine E-Mail Adresse, zum Beispiel "johnsmith@4d.fr"
  • Ein SAM-Account-Name, zum Beispiel "jsmith"

Beachten Sie, dass für Login angenommene Werte sich nach dem Übertragungsmodus für Kennwörter richten, definiert im Parameter digest. Hier ein Beispiel für die standardmäßige Konfiguration von Microsoft Active Directory:

  • Mit dem Übertragungsmodus LDAP password MD5 wird für ein Login allein der SAM-Account-Name akzeptiert.
  • Mit dem Übertragungsmodus LDAP password plain text (Klartext) kann der Parameter Login entweder DN, CN oder eine E-Mail Adresse sein. Ein SAM-Account-Name wird auch akzeptiert, jedoch nur mit vorangestelltem Domain-Name (zum Beispiel "dc-acme.com/jsmith").

Über den Parameter digest lässt sich die Art der Kennwortübertragung über das Netzwerk ändern. Sie können eine der folgenden Konstanten unter dem Thema LDAP verwenden:

Konstante Typ Wert Kommentar
LDAP password MD5 Lange Ganzzahl 0 In MD5 verschlüsseltes Kennwort senden
LDAP password plain text Lange Ganzzahl 1 Kennwort ohne Verschlüsselung senden (TLS Verbindung empfohlen)

Standardmäßig wird Kennwort in MD5 übertragen. Bei Bedarf übergeben Sie LDAP password plain text, zum Beispiel, wenn Sie mit dem LDAP Server verschiedene Login Typen verwenden wollen. In einer Produktionsumgebung empfehlen wir, für die url eine TLS Verbindung zu verwenden.

Hinweis: Bei Authentifizierung mit einem leeren Kennwort können Sie den anonymen Verbindungsmodus eingeben - sofern er vom LDAP Server zugelassen wird. Hierbei können jedoch Fehler auftreten, wenn Sie versuchen, Operationen auszuführen, die in diesem Modus nicht zugelassen sind.

Bei gültigen Login-Parametern wird im 4D Prozess eine Verbindung zum LDAP Server geöffnet. Sie können dann über LDAP Suchbefehle Information erhalten oder suchen.

Vergessen Sie nicht, den Befehl LDAP LOGOUT aufzurufen, wenn die Verbindung zum LDAP Server nicht mehr benötigt wird.

In einen LDAP Server einloggen und eine Suche durchführen:

 ARRAY TEXT($_tabAttributes;0)
 APPEND TO ARRAY($_tabAttributes;"cn")
 APPEND TO ARRAY($_tabAttributes;"phoneNumber")
 LDAP LOGIN("ldap://srv.dc.acme.com:389";"John Smith";"qrnSurBret2elburg")
 $vfound:=LDAP Search("OU=UO_Users,DC=ACME,DC=com";cn=John Doe";LDAP all levels;$_tabAttributes)
 LDAP LOGOUT //Ausloggen nicht vergessen

Dieses Beispiel versucht, sich an eine Anwendung anzumelden:

 ON ERR CALL("ErrHdlr") //Fehler verwalten
 errOccured:=False
 errMsg:=""
 LDAP LOGIN(vUrlLdap;vUserCN;vPwd;LDAP password MD5)
 Case of
    :(Not(errOccured))
       ALERT("Anmeldung erfolgreich.")
 
    :(errOccured)
       ALERT("Fehler in Ihren Parametern")
 End case
 LDAP LOGOUT
 ON ERR CALL("")



Siehe auch 

LDAP
LDAP LOGOUT

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: LDAP
Nummer: 1326

 
GESCHICHTE 

Erstellt: 4D v15

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v16)
4D Programmiersprache ( 4D v16.1)
4D Programmiersprache ( 4D v16.2)
4D Programmiersprache ( 4D v16.3)