Wenn mehr als eine Person eine Datenbank nutzt, möchten Sie unter Umständen den Zugriff auf die Datenbank steuern oder verschiedene Funktionen und Oberflächen verschiedenen Benutzern zur Verfügung stellen. Wenn Sie Anwendungen entwickeln, um sie in einer Mehrplatzumgebung oder für das World Wide Web zu verwenden, kann der Schutz kritischer Daten essentiell sein. Sie können diesen Schutz durch das Zuweisen von Kennwörtern an Benutzer und Erzeugen von Zugriffsgruppen herstellen, die verschiedene Zugriffsrechte auf die Information in der Datenbank oder die Datenbankfunktionen haben.
Das Kennwortsystem von 4D beruht auf Benutzern und Gruppen. Sie legen Benutzer fest und weisen Kennwörter zu, teilen Benutzer in Gruppen ein und weisen jeder Gruppe Zugriffsrechte zu entsprechenden Teilen der Datenbank zu. Gruppen können Zugriffsrechte für Operationen an Datensätzen in der Tabelle und für Tabellendefinition zugewiesen werden.
Das folgende Beispiel zeigt „Eigentümer“ Zugriffsrechte für die Projektmethode Zeige_Kunden die einer Gruppe zugewiesen wurde. Sie können Gruppen generell Rechte auf der Ebene Zugriff (Benutzung) und/oder „Eigentümer“ (Ändern) zuweisen.
![](../../picture/443951/pict443951.de.png)
Weitere Informationen dazu finden Sie unter Kennwortsystem pflegen.
Ein Benutzer wählt zum Öffnen der Datenbank seinen Benutzernamen aus oder tippt ihn ein und gibt sein Kennwort ein. Dann kann er je nach Gruppenzugehörigkeit und deren Rechten die Teile der Datenbank benutzen, die durch das Zugriffsystem festgelegt sind.
Sie können den Zugriff auf die Datenbank in den Datenbank-Eigenschaften auf der Seite "Sicherheit" konfigurieren (siehe unter Seite Sicherheit).
- Standardmäßig erscheint folgendes Dialogfenster:
![](../../picture/443953/pict443953.de.png)
In diesem Dialogfenster wählt der Benutzer in der Benutzerliste seinen Namen aus und gibt im Eingabebereich sein Kennwort ein.
- Deaktivieren Sie in den Datenbank-Eigenschaften die Option Benutzerliste im Dialogfenster Kennwort anzeigen, erscheint folgendes Dialogfenster:
![](../../picture/443955/pict443955.de.png)
Hier muss der Benutzer seinen Namen und sein Kennwort eingeben, was die Sicherheit der Anwendung verstärkt.
- Haben Sie in den Datenbank-Eigenschaften einen Standardbenutzer für Ihre Datenbank definiert und ein Kennwort zugeordnet, erscheint folgendes Dialogfenster:
![](../../picture/443957/pict443957.de.png)
Benutzer müssen nur das Kennwort eingeben. - Wurde dem Standardbenutzer kein Kennwort zugeordnet, erscheint der Kennwortdialog nicht. Die Datenbank öffnet sich direkt. In diesem Fall hat jeder Benutzer die Zugriffsrechte und -einschränkungen, die für den Standardbenutzer gelten.
Ist in den Datenbank-Eigenschaften die Option Die Anwender können ihre Kennwörter ändern markiert, erscheint im Eingabedialog die Schaltfläche Ändern. Damit kann der aktuelle Benutzer sein eigenes Kennwort ändern.
Hinweis zu 4D Server: Sie können die Parameter und die Anmelde-Identifier zur Datenbank in einer Zugriffsdatei vom Typ .4DLink sichern. Weitere Informationen dazu finden Sie im 4D Server Handbuch im Abschnitt Anmeldung an eine 4D Server Datenbank.
Der Benutzer verwendet die Anwendung wie gewohnt. Versucht er, ein Objekt (Formular, Menübefehl, Methode) zu verwenden, auf die seine Gruppe keinen Zugriff hat, zeigt 4D eine Fehlermeldung, z.B. „Ihr Kennwort erlaubt nicht, dieses Formular zu benutzen.“
Hinweis: Wenn eine Methode ON ERR CALL installiert ist, wird die Fehlermeldung bei Methoden nicht angezeigt.
Sie können das Icon im Kennwortdialog durch ein eigenes ersetzen. Standardmäßig erscheint das 4D Logo.
![](../../picture/444113/pict444113.de.png)
Um dieses Icon durch ein eigenes zu ersetzen, müssen Sie nur ein Bild mit Namen LoginImage.png in den Ordner Resources der Datenbank legen. Er liegt neben der Strukturdatei der Datenbank (siehe Beschreibung der 4D Dateien). Das eigene Bild muss vom Typ “png” und 80x80 Pixel groß sein.
--> ![](../../picture/444115/pict444115.de.png)
Markiert der Benutzer die Option Kennwort merken, sichert 4D das Kennwort beim Bestätigen des Dialogfensters und verwendet es automatisch wieder bei nachfolgenden Anmeldungen. Das Kennwort ist verschlüsselt und wird lokal in der Datei .4DLink der entsprechenden Anwendung gespeichert.
Aus diesem Grund können Sie diese Funktionalität nicht für alle 4D Applikationen verwenden. Nachfolgende Tabelle zeigt, wann sie verfügbar ist:
| 4D lokaler Modus | 4D remote Modus |
Datenbank ohne Engine | Ja | Ja |
Datenbank mit einkompilierter 4D Engine | Nein | Ja |
Haben Sie ein Kennwortsystem eingerichtet, können Sie es für verschiedene Arten von externen Zugriffen auf die 4D Datenbank verwenden. Sie können je nach Kontext eine spezifische Zugriffshierarchie definieren.
Sie können das Benutzer- und Gruppensystem von 4D verwenden für:
- Den in 4D integrierten HTTP Server. Weitere Informationen über die Berücksichtigung von 4D Benutzern und Gruppen beim Anmelden an den 4D Web Server finden Sie im Handbuch 4D Programmiersprache im Abschnitt Sicherheit der Verbindung.
- Den in 4D integrierten SQL Server. Weitere Informationen über Zugriffsgruppen für den in 4D integrierten SQL Server finden Sie im Handbuch 4D SQL Reference im Abschnitt Configuration of 4D SQL Server.
Die beste Möglichkeit, den Schutz Ihrer Datenbank zu gewährleisten und Benutzer mit verschiedenen Zugriffsrechten auszustatten, ist die Verwendung eines Schemas für Zugriffshierarchie. Benutzer lassen sich entsprechenden Gruppen zuweisen und Gruppen können ineinander verschachtelt werden, um eine Hierarchie der Zugriffsrechte zu erzeugen. Nachfolgend sehen Sie ein Beispiel.
In diesem Beispiel wird ein Benutzer je nach seiner Zuständigkeit einer von drei Gruppen zugeordnet. Benutzer der Gruppe Buchhaltung sind für Dateneingaben zuständig. Benutzer der Gruppe Finanzverwaltung sind für die Datenpflege zuständig, wozu auch die Aktualisierung der Datensätze und das Löschen veralteter Datensätze gehört. Benutzer der Gruppe Geschäftsleitung sind zuständig für das Analysieren von Daten, sie können auch Suchläufe durchführen und Berichte erstellen.
Die Gruppen werden dann so verschachtelt, dass die Rechte beim Zuweisen der Gruppen korrekt verteilt werden.
- Die Geschäftsleitung enthält nur Benutzer der höchsten Ebene.
![](../../picture/444010/pict444010.de.png)
- Die Finanzverwaltung enthält Benutzer für die Datenpflege und die Geschäftsleitung, so dass die Gruppe der Geschäftsleitung auch über die Rechte der Finanzverwaltung verfügt.
![](../../picture/444012/pict444012.de.png)
- Die Gruppe Buchhaltung enthält Benutzer für die Dateneingabe, sowie Benutzer der Gruppe Finanzverwaltung, so dass Benutzer, die zur Finanzverwaltung und zur Geschäftleitung gehören, auch über die Rechte der Buchhaltung verfügen.
![](../../picture/444014/pict444014.de.png)
Sie können je nach Zuständigkeit festlegen, welcher Gruppe welche Zugriffsrechte zugewiesen werden. Wenn Sie zum Beispiel der Gruppe Buchhaltung einem Eingabeformular zuweisen, dann bedeutet dies, dass jeder dieses Eingabeformular verwenden kann. Wenn Sie die Gruppe Finanzverwaltung dem Formular zuweisen, wird es beschränkt auf Mitglieder der Finanzverwaltung und Geschäftsleitung.
Wenn Sie die Gruppe Geschäftsleitung zuweisen, können nur Mitgliedieser Gruppe das Formular verwenden.
Solch ein hierarchisches System macht es leichter, sich zu merken, welcher Gruppe ein neuer Benutzer zugewiesen werden muss. Sie müssen jeden Benutzer nur einer Gruppe zuweisen und verwenden die Gruppenhierarchie zum Festlegen des Zugriffs.
Ihr Zugriffschema sollte den Zugriff auf möglichst niedere Ebene beschränken, normalerweise auf der Formularebene.