4D v16

Die 4D Datenbank konfigurieren

Home

 
4D v16
Die 4D Datenbank konfigurieren

Die 4D Datenbank konfigurieren    


 

 

Zur Wahrung der Sicherheit und Performance muss der Zugriff auf Tabellen, Daten und Methoden der 4D Anwendung über 4D Mobile Anfragen (von Wakanda Servern genutztes Protokoll) aktiviert und explizit autorisiert werden. Sie müssen drei Zugriffsebenen konfigurieren:

  • Startup der 4D Mobile Services
  • Steuerung der 4D Mobile Zugriffe (optional, wird aber empfohlen)
  • Die Veröffentlichung der einzelnen Datenbankobjekte (Tabelle, Attribute oder Projektmethoden) in 4D Mobile Services gemäß Ihren Anforderungen individuell festlegen. Standardmäßig gilt:
    • alle Tabellen und alle Attribute sind für 4D Mobile zugänglich
    • Projektmethoden sind für 4D Mobile nicht zugänglich

Standardmäßig reagiert 4D Server v14 nicht auf 4D Mobile Anfragen. Sie müssen 4D Mobile Services aktivieren, damit solche Anfragen bearbeitet werden und Wakanda / 4D Connector eingerichtet werden kann.

Hinweis: 4D Mobile Services verwenden den 4D HTTP Server. Sie müssen also sicherstellen, dass der 4D Web Server bzw. 4D Server gestartet ist.

Gehen Sie folgendermaßen vor:

  1. Öffnen Sie in den Datenbank-Eigenschaften die Seite Web > 4D Mobile.
  2. Markieren Sie die Option Aktiviere 4D Mobile Service:

    Die Meldung "Achtung, prüfen Sie die Zugriffsberechtigungen" erscheint, um Sie darauf aufmerksam zu machen, dass durch Aktivieren von 4D Mobile Services die Datenbankobjekte standardmäßig frei zugänglich sind, solange die 4D Mobile Zugriffe (via REST) nicht gesteuert werden (siehe unten).

Durch Steuerung der 4D Mobile Zugriffe können Sie das Öffnen einer Session auf 4D Seite über eine Wakanda Anfrage erlauben oder verweigern.

Für den 4D Mobile Zugriff werden als Identifier Name und Kennwort geprüft, die während der Verbindungsanfrage gesendet werden über

Es gibt auf globaler Ebene zwei Wege zum Steuern von 4D Mobile Zugriffen:

  • entweder automatisch über 4D Kennwörter
  • oder per Programmierung über die Datenbankmethode On 4D Mobile Authentication

Beide Vorgehensweisen schließen sich gegenseitig aus: Ist die Datenbankmethode 4D Mobile Authentication definiert, ist der automatische Zugriff über 4D Kennwörter deaktiviert.

Achten Sie jedoch darauf, dass einer der beiden Wege aktiviert ist, denn sonst werden Zugriffe auf die Datenbank über 4D Mobile immer akzeptiert - was wir natürlich nicht empfehlen!

In 4D können Sie eine Gruppe 4D Benutzer definieren, die berechtigt ist, über die Wakanda Applikation die Verbindung zu 4D Server herzustellen.

Gehen Sie folgendermaßen vor:

  1. Öffnen Sie in den Datenbank-Eigenschaften die Seite Web > 4D Mobile.
  2. Wählen Sie im Bereich Zugriff im DropDown-Menü Lesen/Schreiben die entsprechende Gruppe aus

    Dieses Menü zeigt standardmäßig <Jeder> an, d.h. 4D Mobile Zugriffe sind für alle Benutzer offen.

Haben Sie eine Gruppe definiert, können nur 4D Benutzer, die zu dieser Gruppe gehören, über eine Wakanda Anfrage auf 4D zugreifen -- insbesondere, um über die Methode mergeOutsideCatalog() eine Session auf 4D Server zu öffnen. Wird ein Account verwendet, das nicht zu dieser Gruppe gehört, gibt 4D an den Absender der Anfrage einen Authentifizierungsfehler zurück.

Wollen Sie das 4D Kennwortsystem (der Designer muss ein Kennwort haben) verwenden, darf keine Datenbankmethode On 4D Mobile Authentication definiert sein. Da diese Methode vorrangig ist, berücksichtigt 4D dann nicht die in den Datenbank-Eigenschaften festgelegten Zugriffsrechte.

Sie können die Datenbankmethode On 4D Mobile Authentication verwenden, um Zugriffsrechte für an die Web Server Engine gesendete 4D Mobile Anfragen zu steuern. Ist sie definiert, wird sie automatisch von 4D oder 4D Server aufgerufen, wenn der Server eine 4D Mobile Anfrage empfängt.

Im allgemeinen läuft die Anfrage zum Öffnen einer 4D Mobile Session über den Wakanda Server. In diesem Fall erscheinen die Identifier der Verbindung 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.

Weitere Informationen dazu finden Sie im Abschnitt Datenbankmethode On 4D Mobile Authentication des Handbuchs 4D Programmiersprache.

Sind 4D Mobile Services in der 4D Anwendung aktiviert, kann eine 4D Mobile Session standardmäßig auf alle Tabellen und Felder der Datenbank zugreifen und so die Daten verwenden. Bei einer Datenbank mit der Tabelle [Angestellte] können Sie auf Wakanda Server Seite schreiben:

var emp=ds.Angestellte.query("name == 'Martin'"); 
    //Alle Angestellten zurückgeben, deren Feld Name ’Martin’ entspricht

Hinweis: Auch 4D Tabellen bzw. Felder mit dem Attribut "Unsichtbar" werden standardmäßig in 4D Mobile veröffentlicht.

Der Wakanda Server kann auch auf die Projektmethoden der 4D Datenbank zugreifen. Dieser Zugriff ist jedoch aus Sicherheitsgründen standardmäßig deaktiviert.

Um die Liste der in 4D Mobile zugänglichen Datenbankobjekte individuell anzupassen, gehen Sie folgendermaßen vor:

  • Deaktivieren Sie die Veröffentlichung der entsprechenden Tabelle bzw. des Feldes
  • Aktivieren Sie die Projektmethoden, auf die Sie Zugriff gewähren wollen

Versucht eine 4D Mobile Anfrage, auf eine nicht-zugelassene Ressource (Tabelle oder Projektmethode) zuzugreifen, gibt 4D einen Fehler zurück.

Standardmäßig sind alle Tabellen in 4D Mobile veröffentlicht.

Aus Sicherheitsgründen wollen Sie aber nur bestimmte Tabellen Ihrer Datenbank für 4D Mobile Aufrufe veröffentlichen. Sie wollen z.B. die Tabelle [Benutzer], die Namen und Kennwörter speichert, nicht veröffentlichen.

Gehen Sie folgendermaßen vor:

  1. Zeigen Sie im Struktureditor den Inspektor für Tabellen an und wählen die gewünschte Tabelle aus.
    Standardmäßig ist die Option Mit 4D Mobile Service veröffentlichen markiert
  2. Deaktivieren Sie diese Option
    ODER
    Markieren Sie die Option, um eine Tabelle wieder zu veröffentlichen.

    Führen Sie dies für jede Tabelle aus, deren Veröffentlichungsstatus geändert werden soll.

Standardmäßig sind alle Felder in 4D Mobile veröffentlicht.

Sie wollen u.U. bestimmte Felder in Ihren Tabellen nicht über 4D Mobile veröffentlichen, wie z.B. das Feld [Angestellte]Gehalt.

Gehen Sie folgendermaßen vor:

  1. Zeigen Sie im Struktureditor den Inspektor für Felder an und wählen das gewünschte Feld aus.
    Standardmäßig ist die Option Mit 4D Mobile Service veröffentlichen markiert
  2. Deaktivieren Sie diese Option
    ODER
    Markieren Sie die Option, um ein Feld wieder zu veröffentlichen.

    Führen Sie dies für jedes Feld aus, deren Veröffentlichungsstatus geändert werden soll.

Beachten Sie, dass ein Feld über 4D Mobile nur zugänglich ist, wenn das auch für die übergeordnete Tabelle gilt. Ist sie nicht veröffentlicht, gilt das auch für alle dazugehörigen Felder, unabhängig welchen Status sie haben. So können Sie die 4D Mobile Veröffentlichung für eine Tabelle je nach Bedarf aktivieren/deaktivieren und die Einstellung der einzelnen Felder unverändert lassen. 

Standardmäßig sind keine Projektmethoden in 4D Mobile veröffentlicht.

Wollen Sie, dass bestimmte Projektmethoden Ihrer 4D Datenbank über 4D Mobile verfügbar sind, müssen Sie die entsprechende Option markieren und den Kontext der Ausführung in Wakanda definieren.

Hinweis: Ist die 4D Methode einer bestimmten Gruppe zugewiesen, müssen Sie sicherstellen, dass auch die 4D Mobile Gruppe dazugehört.

Gehen Sie folgendermaßen vor:

  1. Zeigen Sie das Dialogfenster "Methode-Eigenschaften" an.
    Hinweis: Sie können es über das Kontextmenü der Seite Methoden im Explorer öffnen oder über das Menü Methode/Methode-Eigenschaften im Methodeneditor.
  2. Markieren Sie die Option Verfügbar per 4D Mobile Aufruf:
  3. Definieren Sie den Kontext der Ausführung für die Projektmethode über die DropDown-Menüs Tabelle und Gültig.

    Diese Einstellungen sind erforderlich, damit die Logik von Wakanda beachtet wird. Weitere Informationen dazu finden Sie im nächsten Abschnitt.
  4. Klicken Sie auf die Schaltfläche OK, um die Änderungen zu bestätigen.
    Projektmethoden, die über 4D Mobile verfügbar sind, erscheinen im 4D Explorer auf der Seite Methoden unter der Rubrik "4D Mobile Methoden" (siehe nächster Abschnitt “Explorer”).

Wenn Sie eine Projektmethode über 4D Mobile Anfragen zugänglich machen, müssen Sie über die Parameter Tabelle und Gültig explizit den Kontext deklarieren:

  • Tabelle: Tabelle, die der Projektmethode zugewiesen werden soll. Verwendet die Methode die Daten einer bestimmten Tabelle, können Sie diese Tabelle auswählen. Ist die Methode nicht einer einzelnen Tabelle zugeordnet, können Sie jede veröffentlichte Tabelle verwenden. Wollen Sie dagegen nur Methoden veröffentlichen, die zur Geschäftslogik Ihrer 4D Anwendung passen, können Sie eine spezifische Tabelle, z.B. [4DMobileInterface] anlegen und veröffentlichen, und dieser alle in 4D Mobile veröffentlichten Projektmethoden zuweisen.
  • Gültig: Datensatzbereich, auf den die Methode angewendet wird. Diese Deklaration ist erforderlich, da Methoden auf der Wakanda Seite Eigenschaften von JavaScript Objekten sind und sich nur über diese Objekte aufrufen lassen. Jede veröffentlichte 4D Methode muss explizit dem Kontext der Anwendung zugeordnet werden, in dem sie aufgerufen wird: Tabelle, Aktueller Datensatz und Aktuelle Auswahl.
    • Tabelle: Diese Option gibt an, dass die 4D Methode mit allen Datensätzen der angegebenen Tabelle ausgeführt wird.
      Auf der Wakanda Seite wird die Methode in einem Objekt vom Typ Datastore Class aufgerufen.
    • Aktueller Datensatz: Diese Option gibt an, dass die 4D Methode mit dem aktuellen Datensatz der angegebenen Tabelle ausgeführt wird.
      Auf der Wakanda Seite wird die Methode in einem Objekt vom Typ Entity aufgerufen.
    • Aktuelle Auswahl: Diese Option gibt an, dass die 4D Methode mit der aktuellen Auswahl der Datensätze der angegebenen Tabelle ausgeführt wird.
      Auf der Wakanda Seite wird die Methode in einem Objekt vom Typ Entity Collection aufgerufen.

Warnung: Verändern Sie die Veröffentlichung oder den Kontext einer Projektmethode auf 4D Seite, müssen Sie das remote Modell auf der Wakanda Seite erneut laden, damit diese Änderungen berücksichtigt werden.

Sind 4D Mobile Services aktiviert, erscheinen die in 4D Mobile veröffentlichten Tabellen und die zugewiesenen Projektmethoden im 4D Explorer auf der Seite "Methoden" unter dem Eintrag 4D Mobile Methoden:

 
 



Siehe auch 

Die Wakanda Applikation konfigurieren

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Die 4D Datenbank konfigurieren

 
GESCHICHTE 

 
ARTIKELVERWENDUNG

4D Mobile ( 4D v16)