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):
Die Anwendungsverzeichnisdatei ist die Datei directory.json, die sich im Benutzereinstellungsordner der Anwendung befindet (Ordner Settings im Ordner Server Database der zusammengeführten Serveranwendung):
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:
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!