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 Zahlenfolge in das nachfolgende Textfeld ein

Die mit einem * markierten Felder sind Pflichtfelder.

Aktuell im Blog
Onlinebanking mit Access

Es ist geschafft: Endlich ist das Buch Onlinebanking mit Access fertiggeschrieben. Das war... [mehr]

Direktzugriff auf Tabellen und Felder

Die IntelliSense-Erweiterung für Tabellen und Felder hat mir soviel Spaß gemacht, dass ich gleich... [mehr]

IntelliSense für Tabellen und Felder

Wenn Sie mit dem VBA-Editor arbeiten und dort gelegentlich SQL-Anweisungen eingeben, müssen Sie... [mehr]

Download Access und SQL Server

Erfahren Sie, welche Schritte zum Download des aktuellen Stands des Buchs "Access und SQL Server"... [mehr]

Bilder in Access 2013

Wer die Bibliothek mdlOGL0710 von Sascha Trowitzsch oder ein ähnliches Modul aus meinen... [mehr]

Dynamische Ribbons

Immer wieder fragen Leser, wie man Ribbon-Elemente wie etwa Schaltflächen in Abhängigkeit... [mehr]

Die Blogmaschine

Einen kleinen Blog zusätzlich zum Shop zu betreiben ist eine tolle Sache. Hier lassen sich... [mehr]

Wegwerfadressen für die Newsletteranmeldung

Die Verwendung von Wegwerf-Adressen für die Nutzung aller möglichen Online-Dienste nimmt... [mehr]

Access und Facebook

Facebook und Access - das ist eine der wenigen Kombinationen, die ich noch nicht in die Mangel... [mehr]

Access und SQL Server - das Projekt

Mein neues Buch Access und SQL Server (gemeinsam mit Bernd Jungbluth) geht in die Endphase. Wer... [mehr]