Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
Current client authentication
|
Current client authentication {( Domain ; Protokoll )} -> Funktionsergebnis | ||||||||
Parameter | Typ | Beschreibung | ||||||
Domain | Text |
![]() |
Domain Name | |||||
Protokoll | Text |
![]() |
"Kerberos", "NTML" oder leerer String | |||||
Funktionsergebnis | Text |
![]() |
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:
Ü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:
Login | Domain | Protokoll | Kommentar |
Leer | Leer | Leer | Die Funktion konnte keine Angaben zur Authentifizierung des eingeloggten Benutzers erhalten |
Gefüllt | Leer | NTLM | Die zurückgegebene ID ist lokal, sie wurde auf dem lokalen Rechner definiert |
Gefüllt | Gefüllt | NTLM | Die 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üllt | Gefüllt | Kerberos | Die 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:
//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:
Produkt: 4D
Thema: Systemumgebung
Nummer:
1355
Erstellt: 4D v15 R5
4D Programmiersprache ( 4D v20 R7)