Frontend/Backend mit Kennwortschutz

Wenn Sie ein Abonnement des Magazins 'Access im Unternehmen' besitzen, können Sie sich anmelden und den kompletten Artikel lesen.
Anderenfalls können Sie das Abonnement hier im Shop erwerben.

Frontend/Backend mit Kennwortschutz

Wenn Sie eine Access-Datenbank mit einem Kennwortschutz versehen, kann der Benutzer ohne Kennwort nicht darauf zugreifen (außer mit gegebenenfalls vorhandener krimineller Energie). Wie aber sieht es aus, wenn Sie mit mehreren Benutzern auf die Daten einer Anwendung zugreifen wollen und diese deshalb in Frontend und Backend aufteilen wollen? Wir zeigen, welche Sicherheitslücken dadurch entstehen können und wie Sie diese – allerdings nicht ohne Aufwand – beheben können.

Die folgende Situation ist alltäglich: Sie möchten die Daten einer Datenbank, die auf dem Server liegt, schützen. Nur zugriffsberechtigte Mitarbeiter sollen darauf zugreifen können. Am besten noch so, dass verschiedene Mitarbeitergruppen nur auf bestimmte Tabellen zugreifen können.

Dummerweise besteht nicht die Möglichkeit, einen SQL Server einzurichten – mit diesem wäre das Vorhaben nämlich umsetzbar (zwar auch nicht in kurzer Zeit, denn dazu ist durchaus etwas Vorbereitungs- und Umsetzungsarbeit einzuplanen). Also müssen Sie sich mit einer reinen Access-Lösung behelfen.

Normalerweise besteht diese dann aus folgendem Szenario: Sie teilen die Datenbank in Frontend- und Backend auf und speichern dabei die Tabellen im Backend und legen entsprechende Tabellenverknüpfungen im Frontend der Datenbank an, über die Sie auf die Tabellen im Backend zugreifen können.

Frontend-Kennwort

Unerfahrere Benutzer versehen dann vielleicht jedes einzelne Frontend mit einem Kennwort, das nur der jeweilige Benutzer kennt. Der Benutzer meldet sich an und kann dann über die Verknüpfungen auf die Tabellen im Backend zugreifen.

Dummerweise liegt das Backend so immer noch völlig ungeschützt auf dem Server – das Kennwort haben Sie ja schließlich für die Frontend-Datenbank angelegt und nicht für das Backend.

Beim Anlegen der Verknüpfung fragt Access Sie dann nach dem Kennwort und speichert dieses mit der Verknüpfung.

In der Beispieldatenbank BE.mdb finden Sie eine Beispieltabelle namens tblTest mit ein paar Beispielfeldern.

Dieser fügen wir nun zuerst ein Datenbankkennwort hinzu. In neueren Access-Versionen verschlüsseln Sie die Datenbank somit gleichzeitig.

Exklusiv öffnen

Bevor Sie dies erledigen, sollten Sie jedoch sicherstellen, dass Sie die Datenbank im Exklusiv-Modus geöffnet haben. Dies erledigen Sie etwa unter Access 2010, indem Sie im Öffnen-Dialog den Eintrag Exklusiv öffnen der Öffnen-Schaltfläche auswählen (s. Bild 1).

Öffnen einer Datenbank-Datei im Exklusiv-Modus

Bild 1: Öffnen einer Datenbank-Datei im Exklusiv-Modus

Dies gelingt übrigens nur mit Datenbanken, die noch nicht anderweitig geöffnet sind. Ist dies doch der Fall, erhalten Sie eine entsprechende Meldung (s. Bild 2).

Nur noch nicht geöffnete Datenbanken können exklusiv geöffnet werden.

Bild 2: Nur noch nicht geöffnete Datenbanken können exklusiv geöffnet werden.

Datenbank verschlüsseln

Wenn Sie die Datenbank im Exklusiv-Modus geöffnet haben, können Sie etwa unter Access 2010 im Datei-Bereich unter Informationen die Schaltfläche Mit Kennwort verschlüsseln aufrufen (s. Bild 3).

Zuweisen eines Datenbank-Kennwortes und Verschlüsseln der Datenbank

Bild 3: Zuweisen eines Datenbank-Kennwortes und Verschlüsseln der Datenbank

Access fragt dann per Dialog das Kennwort ab, wobei der Benutzer dieses zur Sicherheit zwei Mal eingeben muss (s. Bild 4).

Datenbankkennwort festlegen

Bild 4: Datenbankkennwort festlegen

Keine Sperrung auf Datensatzebene

Gegebenenfalls liefert dies eine Fehlermeldung wie in Bild 5. Sie brauchen dann nichts weiter zu tun – Access ignoriert dann einfach die Sperrung auf Datensatzebene.

Keine Kompatibilität mit Sperrung auf Datensatzebene

Bild 5: Keine Kompatibilität mit Sperrung auf Datensatzebene

Kennwort testen

Schließen Sie nun die Beispieldatenbank und öffnen Sie sie erneut. Es sollte nun ein Dialog erscheinen, der Sie zum Eingeben des Kennworts auffordert (s. Bild 6).

Abfrage des Datenbankkennworts

Bild 6: Abfrage des Datenbankkennworts

Tabelle verknüpfen

Die einfachste Möglichkeit, per Frontend-Datenbank auf eine Tabelle in einer verschlüsselten und kennwortgeschützten Backend-Datenbank zuzugreifen, ist das Anlegen einer Verknüpfung.

Also schließen Sie die Backend-Datenbank und öffnen die zukünftige Frontend-Datenbank. Führen Sie die zum Verknüpfen mit einer externen Datenbanktabelle nötigen Schritte durch. Wenn Sie die Backend-Datenbank ausgewählt haben, erscheint wiederum der Dialog zur Eingabe des Datenbank-Kennworts. Nach der Eingabe zeigt Access schließlich die in der Backend-Datenbank enthaltenen Tabellen an (s. Bild 7). Wählen Sie die Tabelle tblTest aus und klicken Sie auf die Schaltfläche OK.

Dies war die Leseprobe dieses Artikels.
Melden Sie sich an, um auf den vollständigen Artikel zuzugreifen.

Bitte geben Sie die Zeichenfolge in das nachfolgende Textfeld ein

Die mit einem * markierten Felder sind Pflichtfelder.

Neues aus unseren Magazinen
Listenfeld: Reihenfolge mehrerer Einträge...

Wir haben bereits in mehreren Beiträgen beschrieben, wie Sie die individuelle Reihenfolge von Elementen einer Tabelle über den Inhalt eines Feldes etwa namens »ReihenfolgeID« einstellen können –... [mehr]

Diagramme mit gefilterten Daten

In Ausgabe 2/2019 haben wir in zwei Artikeln die modernen Diagramme von Access vorgestellt. Im vorliegenen Beitrag zeigen wir Ihnen, wie Sie diese abhängig von den in einem Formular angezeigten... [mehr]

Benutzerverwaltung mit verschlüsselten...

Wenn Sie in einer Access-Anwendung Benutzer verwalten wollen, die sich per Benutzername und Kennwort an die Anwendung anmelden, sollten Sie sehr sensibel mit den in der Anwendung gespeicherten... [mehr]

HTML-Tabellen mit fester Kopfzeile

In den vorherigen Ausgaben von Access im Unternehmen und in der aktuellen Ausgabe arbeiten wir in einigen Beiträgen mit dem Webbrowser-Steuerelement und stellen Daten, die wir mit den Bordmitteln... [mehr]

Flexible HTML-Tabellen mit fester Kopfzeile

Im Beitrag »HTML-Tabellen mit fester Kopfzeile« haben wir gezeigt, wie Sie Daten aus einer bestimmten Abfrage in einem Webbrowser-Steuerelement so anzeigen, dass die Spaltenköpfe oben fixiert... [mehr]

Berechtigungen per HTML verwalten

Im Beitrag »Benutzerverwaltung mit verschlüsselten Kennwörtern« stellen wir eine Lösung vor, in der wir die Berechtigungen von Benutzergruppen an Datenbankobjekten definieren. Dort benötigen wir... [mehr]

Benutzer und Berechtigungen ermitteln

In den Beiträgen »Benutzerverwaltung mit verschlüsselten Kennwörtern« und »Berechtigungen per HTML verwalten« haben wir die Voraussetzungen für eine Benutzerverwaltung geschaffen. Im vorliegenden... [mehr]

Zugriffsrechte mit Datenmakros

Es gibt verschiedene Möglichkeiten, auf Basis des aktuell angemeldeten Benutzers sicherzustellen, dass dieser nur die für ihn vorgesehenen Aktionen mit Daten durchführen darf – beispielsweise durch... [mehr]

Kennwörter generieren

Für den einen oder anderen Zweck möchten Sie vielleicht Kennwörter generieren oder in einer Benutzeroberfläche die Möglichkeit zum Generieren von Kennwörtern anbieten. Wenn Sie etwa Benutzer zu... [mehr]

Neuer Datensatz von Frontend zu Backend

Für manche Themen gibt es keine kurze, prägnante Überschrift. In diesem Fall wollen wir zeigen, wie Sie einen neuen Datensatz anlegen, der in einer temporären Tabelle im Frontend gespeichert wird,... [mehr]