4D v16.3Datenbankmethode On 4D Mobile Authentication |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
Datenbankmethode On 4D Mobile Authentication
Datenbankmethode On 4D Mobile Authentication
Die Datenbankmethode On 4D Mobile Authentication bietet einen eigenen Weg, um das Öffnen von 4D Mobile Sessions in 4D (via REST) zu steuern. Sie dient hauptsächlich zum Filtern von Anfragen, wenn eine Verbindung zwischen einem Wakanda Server und 4D hergestellt wird. Im allgemeinen läuft die Anfrage zum Öffnen einer 4D Mobile Session über die Methode mergeOutsideCatalog(), die Identifier der Verbindung erscheinen im Header der Anfrage. Die Datenbankmethode On 4D Mobile Authentication wird aufgerufen, so dass Sie diese Identifier bewerten können. Sie können die Liste der Benutzer für die 4D Datenbank oder Ihre eigene Tabelle mit Identifiern verwenden. Wichtig: Ist die Datenbankmethode On 4D Mobile Authentication definiert (z.B. wenn sie Code enthält), delegiert 4D die Kontrolle der 4D Mobile Anfragen komplett an diese Methode. Die Einstellung über das DropDown-Menü "Lesen/Schreiben" auf der Seite Web > 4D Mobile der Datenbank-Eigenschaften wird ignoriert (siehe Abschnitt Zugriff Lesen/Schreiben des Handbuchs 4D Designmodus). Die Datenbankmethode empfängt zwei Parameter ($1 und $2) vom Typ Text und einen vom Typ Boolean ($3), der von 4D übergeben wird, und gibt ein Boolean $0 zurück. Sie deklarieren diese Parameter wie folgt: //Datenbankmethode On 4D Mobile Authentication $1 enthält den Benutzernamen, $2 das Kennwort für die Verbindung Das Kennwort ($2) wird, je nach dem von der Anfrage verwendeten Modus, in Klartext oder verschlüsselt (Hash) empfangen. Der Modus wird im Parameter $3 angegeben und legt somit das weitere Vorgehen fest:
Bei einer 4D Mobile Verbindungsanfrage von Wakanda Server wird das Kennwort immer verschlüsselt (Hash) gesendet. Sie müssen die Identifier der 4D Mobile Verbindung in der Datenbankmethode prüfen. In der Regel prüfen Sie Name und Kennwort über eine eigene Benutzertabelle. Bei gültigen Identifiern übergeben Sie True in $0. Die Anfrage wird dann angenommen; 4D führt sie aus und gibt das Ergebnis in JSON zurück. Ist der Benutzer in der Liste der 4D Benutzer der Datenbank eingetragen, können Sie das Kennwort direkt über folgende Anweisung prüfen: $0:=Validate password($1;$2;$3) Die Funktion Validate password wurde erweitert. Der Benutzername wird jetzt als erster Parameter akzeptiert. Ein optionaler Parameter gibt an, ob das Kennwort verschlüsselt erscheint. Wollen Sie eine eigene Liste mit Benutzern verwenden, unabhängig von der Liste der 4D Anwendung, können Sie deren Kennwörter verschlüsselt mit demselben Algoritmus sichern, den Wakanda Server beim Senden einer Verbindungsanfrage an die Datenbankmethode On 4D Mobile Authentication in $2 verwendet. Um ein Kennwort mit dieser Methode zu verschlüsseln, schreiben Sie folgende Anweisung: $HashedPasswd :=Generate digest($ClearPasswd ;4D digest) Die Funktion Generate digest akzeptiert 4D digest als Hash-Algorithmus. Diese Funktion verwendet 4D auch zur internen Verwaltung von Kennwörtern. Dieses Beispiel zur Datenbankmethode On 4D Mobile Authentication akzeptiert nur den Benutzer "admin" mit dem Kennwort "123", der nicht mit einem 4D Benutzer übereinstimmt: // Datenbankmethode On 4D Mobile Authentication Dieses Beispiel zur Datenbankmethode On 4D Mobile Authentication prüft, ob die Verbindungsanfrage von einem der beiden zugelassenen Wakanda Server kommt, die unter den Benutzern der 4D Anwendung gesichert sind: C_TEXT($1;$2)
|
EIGENSCHAFTEN
Produkt: 4D
GESCHICHTE
Erstellt: 4D v14 ARTIKELVERWENDUNG
4D Programmiersprache ( 4D v16) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||