Verwaltung von Verzeichnisdateien in zusammengeführten Serverprojekten

In Projekten wurde die neue Datei directory.json eingeführt, die Benutzer, Gruppen und Berechtigungen enthält. Sie ermöglicht die Authentifizierung, Einschränkungen und Berechtigungen für verschiedene Teile der Anwendung, durch Einstellungen oder Code. Sehen wir uns die neuen Verbesserungen bei der Verwendung dieser Datei in zusammengeführten Serverprojekten an.

Erinnerung

In einem Projekt werden die Benutzer, Gruppen und einige Berechtigungen in der Verzeichnisdatei gespeichert. Um sich daran zu erinnern, wie das funktioniert, können Sie diesen Blog-Beitrag zur Präsentation noch einmal lesen oder sich dieses Video ansehen.

Verzeichnisdateien

Die Projektverzeichnisdatei ist die Datei directory.json, die sich im Ordner mit den Benutzereinstellungen des Projekts befindet (Ordner Einstellungen neben dem Projektordner des verwendeten Projekts):

Die Datenverzeichnisdatei ist die directory.json-Datei, die sich im Benutzereinstellungsordner für Daten befindet (Einstellungsordner neben der verwendeten Datendatei):
blank

Die Anwendungsverzeichnisdatei ist die Datei directory.json, die sich im Benutzereinstellungsordner der Anwendung befindet (Ordner Settings im Ordner Server Database der zusammengeführten Serveranwendung):
blank

Einbetten der Datei während des Build-Anwendungsprozesses

Bisher war es Ihre Aufgabe, eine Verzeichnisdatei in den zusammengeführten Server nach dem Build-Prozess der Anwendung aufzunehmen. Wenn Sie keine Verzeichnisdatei in das Anwendungspaket oder neben die Datendatei einfügen, verwenden alle Benutzer während der Ausführung das Designer-Konto mit allen Rechten.
Um dies sicherer und einfacher zu machen, steht Ihnen ab v19R5 ein neuer buildApp-Schlüssel zur Verfügung. Dieser Schlüssel bettet die Projektverzeichnisdatei während des BuildApp-Prozesses automatisch in den zusammengeführten Server ein:

<BuildApp>
<CS>
<ServerEmbedsProjectDirectoryFile>True</ServerEmbedsProjectDirectoryFile>

Beachten Sie, dass diese neue Einstellung auch im Dialogfeld „Anwendung erstellen“ verfügbar ist:

blank

Serverseitiges Verhalten

Das aktuelle Verhalten wird beibehalten: Der 4D Server lädt die Datenverzeichnisdatei, wenn sie existiert. Andernfalls wird die Anwendungsverzeichnisdatei geladen.
Aber ab jetzt werden in einem zusammengeführten Serverprojekt alle Änderungen, die während der Ausführung an Benutzern, Gruppen und Berechtigungen vorgenommen werden, automatisch in der Datenverzeichnisdatei gespeichert. Die Anwendungsverzeichnisdatei wird nie berührt und kann als Initialisierungsverzeichnisdatei betrachtet werden. Dies garantiert, dass Ihre Anwendungssignatur unter macOS sicher bleibt, oder ermöglicht es Ihnen, Ihre Serveranwendung in einem schreibgeschützten Ordner zu platzieren, ohne dass ein Fehler auftritt.
Beim Start des Servers werden, wenn keine Datenverzeichnisdatei vorhanden ist, die in der Anwendungsverzeichnisdatei gespeicherten Benutzer, Gruppen und Berechtigungen geladen, sofern sie vorhanden sind. Wenn dann Änderungen an Benutzern, Gruppen oder Berechtigungen vorgenommen werden, werden sie in der Datenverzeichnisdatei gespeichert.

Technische Konten

Benutzer und Gruppen werden von 4D Entwicklern oft als technische Konten verwendet. Dies kann mit der Toolbox oder mit 4D Code geschehen, indem der aktuelle Benutzername mit Current user oder die Gruppenzugehörigkeit mit User in group. Um in solchen Fällen sicherzustellen, dass diese Benutzer und Gruppen beständig sind, können Sie sie beim Starten des Servers überprüfen, und spätere Änderungen werden automatisch in der Datenverzeichnisdatei gespeichert!

Avatar
- Product Owner - Damien Fuzeau ist seit Februar 2019 Mitglied des 4D Produktteams. Als Product Owner ist er für das Schreiben von User Stories zuständig, die er dann in funktionale Spezifikationen umsetzt. Zu seinen Aufgaben gehört es auch, dafür zu sorgen, dass die gelieferten Funktionsimplementierungen den Anforderungen der Kunden entsprechen. Damien hat an der Universität von Nantes einen Abschluss in Softwaretechnik gemacht. Er verbrachte mehr als 23 Jahre in seinem früheren Unternehmen, zunächst als Entwickler (er entdeckte 4D im Jahr 1997) und später als technischer Leiter und Softwarearchitekt. Dieses Unternehmen ist ein 4D OEM Partner und hat 4D basierte Geschäftssoftware für Tausende von Usern auf Hunderten von Servern eingesetzt. Damien ist also mit der Entwicklung und dem Einsatz von 4D in einem mehrsprachigen Kontext vertraut.