4D v16.3

Current client authentication

Home

 
4D v16.3
Current client authentication

Current client authentication 


 

Current client authentication {( Domain ; Protokoll )} -> Funktionsergebnis 
Parameter Typ   Beschreibung
Domain  Text in Domain Name
Protokoll  Text in "Kerberos", "NTML" oder leerer String
Funktionsergebnis  Text in Von Windows zurückgegebenes Benutzer-Login der Sitzung

Die Funktion Current client authentication fordert Active Directory des Windows Server auf, den aktuellen Client zu authentifizieren und gibt bei erfolgreicher Authentifizierung den Login Namen für diesen Client zurück (Session Identifier). Schlägt die Authentifizierung fehl, wird ein leerer String zurückgegeben. 

Diese Funktion lässt sich nur mit 4D Server unter Windows verwenden, wenn SSO aktiviert ist. Weitere Informationen dazu finden Sie im Abschnitt Single Sign On (SSO) unter Windows.

In der Regel müssen Client und Server vom gleichen Active Directory verwaltet werden. Es werden jedoch verschiedene Konfigurationen unterstützt. Weitere Informationen dazu finden Sie im Abschnitt Anforderungen für SSO.

Der zurückgegebene String des Login wird an das 4D Modul zur Identifizierung übergeben, um dem Client gemäß dem Login für die Windows-Sitzung den Zugriff zu gewähren; um den 4D Server Login Dialog zu entfernen, setzen Sie einen Standardbenutzer, so dass der Benutzer seine Kennung nicht erneut eingeben muss (siehe Beispiel).

Die Funktion kann optional zwei Textparameter zurückgeben:

  • Domain: Name des Domain, zu dem der Client gehört
  • Protokoll: Name des Protokolls, das Windows zum Authentifizieren des Benutzers verwendet. Das ist je nach verfügbaren Ressourcen "Kerberos" oder "NTLM".
    Schlägt die Authentifizierung fehl, wird ein leerer String ("") zurückgegeben

Über diese Parameter können Sie den Zugriff zusätzlich über Domain oder Protokoll filtern und Verbindungen über diese Kriterien zulassen oder abweisen.

Die Sicherheitsstufe der Authentifizierung (z.B. wie vertrauenswürdig ist das Login des Benutzers) hängt davon ab, wie der Benutzer aktuell identifiziert wurde. Gibt die Funktion Current client authentication in ihren Parametern Werte (optional) zurück, können Sie erkennen, worauf das Login basiert und so Aufschluss über die Sicherheitsstufe erhalten:

LoginDomainProtokollKommentar
LeerLeerLeerDie Funktion konnte keine Angaben zur Authentifizierung des eingeloggten Benutzers erhalten
GefülltLeerNTLMDie zurückgegebene ID ist lokal, sie wurde auf dem lokalen Rechner definiert
GefülltGefülltNTLMDie zurückgegebene ID wurde über das NTLM Protokoll im Domain authentifiziert, das im Parameter Domain zurückgegeben wird. In diesem Fall können Sie das Domain überprüfen, um die Sicherheitsstufe zu erhöhen. Da einige Architekturen ein "Domain Forest" haben, müssen Sie sicherstellen, dass das Domain, in welchem der Benutzer authentifiziert wurde, das erwartete ist.
GefülltGefülltKerberosDie zurückgegebene ID wurde über das Kerberos Protokoll im erwarteten Domain authentifiziert. Diese Konfiguration bietet die höchste Sicherheitsstufe.

Weitere Informationen dazu finden Sie im Abschnitt .

Sie haben in Ihrer 4D Server Anwendung ein Kennwortsystem mit 4D Benutzern und Gruppen eingerichtet. Sie wollen Ihre Anwendung so einstellen, dass 4D remote Benutzer unter Windows sich direkt an 4D Server anmelden können (kein Kennwortdialog wird angezeigt), wenn sie mit ihren aktuellen Rechten eingeloggt sind. Dazu müssen Sie folgendes ausführen:

  1. Auf der Seite "Sicherheit" der Datenbank-Eigenschaften definieren Sie einen Benutzer als "Standardbenutzer":

    Mitt dieser Einstellung erscheint kein Kennwortdialog, wenn sich ein remote 4D an den Server anmeldet. Alle Clients werden als "Bob" eingeloggt.
  2. In der Datenbankmethode On Server Open Connection fügen Sie folgenden Code hinzu, um die Benutzerauthentifizierung von Active Directory zu prüfen:

  //Datenbankmethode On Server Open Connection
 C_LONGINT($0;$1;$2;$3)
 $login:=Current client authentication($domain;$protocol)
 If($login #"") //ein Login wurde zurückgegeben
  //eigene Authentifizierungsmethode aufrufen
    $0:=CheckCredentials
  //sollte, wenn erfolgreich 0 zurückgeben, bei Fehler -1
 Else
    $0:=-1 //Verbindung abweisen
 End if

Hinweis: Dieses Beispiel zeigt einen einfachen Ablauf, den Sie an Ihre eigenen Lösungen anpassen müssen. Die eigene Authentifizierungsmethode für 4D Benutzer (hier CheckCredentials genannt) könnte folgende Schritte enthalten:

  • für einen automatischen Ablauf in den Namen für 4D Benutzer und Gruppen die Namen von Active Directory abbilden
  • die zurückgegebene Information an eine eigene Tabelle [Benutzer] weiterleiten
  • über LDAP Funktionen die Benutzer-Zugangsdaten erhalten

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Systemumgebung
Nummer: 1355

 
GESCHICHTE 

Erstellt: 4D v15 R5

 
ARTIKELVERWENDUNG

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